(57)【要約】【課題】通信におけるビジネス情報を識別することができるいくつかのデータ要素の少なくとも１つを命名するコンピュータプログラムを提供すること。【解決手段】動作は、データ要素を、１つまたは複数のデータ要素を含む集約データ要素に関連付けることを含む。データ要素は、データ要素が属する論理グループを表すオブジェクトクラス項、および論理グループの特徴を表す属性項が関連付けられているように構成される。また、前記動作は、データ要素に割り当てることが有効な値を定義するデータタイプを選択することを含み、データタイプは、データタイプを記述する追加の意味論的制限を表す修飾子項を備え、前記動作はさらに、修飾子項を、データ要素の属性項とオブジェクトクラス項のうち少なくとも一方に割り当てることを含む。この割り当ては、集約データ要素の名前に依存する。【選択図】図３Ａ
2007149096.tif 000002
【特許請求の範囲】
【請求項１】
情報媒体に具現化され、実行時に、通信におけるビジネス情報を識別することができるいくつかのデータ要素の少なくとも１つを命名する動作を行う命令を備えるコンピュータプログラム製品であって、前記動作は、
データ要素を、１つまたは複数のデータ要素を備える集約データ要素に関連付けるステップであって、前記データ要素は、前記データ要素が属する論理グループを表すオブジェクトクラス項、および前記論理グループの特徴を表す属性項が関連付けられているように構成されているステップと、
前記データ要素に割り当てることが有効な値を定義するデータタイプを選択するステップであって、前記データタイプは、前記データタイプを記述する追加の意味論的制限を表す修飾子項を備えているステップと、
前記集約データ要素の名前に応じて、前記修飾子項を、前記データ要素の前記属性項と前記オブジェクトクラス項のうち少なくとも一方に割り当てるステップと
を含むことを特徴とするコンピュータプログラム製品。
【請求項２】
前記集約データ要素は、前記論理グループを意味論的に定義する集約クラス項が関連付けられているように構成されていることを特徴とする請求項１に記載のコンピュータプログラム製品。
【請求項３】
前記修飾子項が前記集約クラス項と同一である場合、前記修飾子項は、前記オブジェクトクラス項に割り当てられ、前記修飾子項が前記集約クラス項と同一でない場合、前記修飾子項は、前記属性項に割り当てられることを特徴とする請求項２に記載のコンピュータプログラム製品。
【請求項４】
前記動作は、前記集約データ要素の前記名前を前記修飾子項と比較することによって、前記修飾子項が前記属性項または前記オブジェクトクラス項に割り当てられているかを決定するステップをさらに含み、前記名前は、集約クラス項を備えることを特徴とする請求項１に記載のコンピュータプログラム製品。
【請求項５】
前記決定は、前記修飾子項が前記集約クラス項と同一である場合、前記修飾子項を前記オブジェクトクラス項に割り当てるために行われることを特徴とする請求項４に記載のコンピュータプログラム製品。
【請求項６】
前記データ要素は、前記オブジェクトクラス項を意味論的に限定するオブジェクトクラス項修飾子が関連付けられているようにさらに構成され、前記データタイプは、前記データタイプをさらに意味論的に限定する追加の修飾子項をさらに備え、前記動作は、前記データタイプの前記追加の修飾子項を、前記オブジェクトクラス項修飾子に割り当てるステップをさらに含むことを特徴とする請求項５に記載のコンピュータプログラム製品。
【請求項７】
前記決定は、前記修飾子項が前記集約クラス項と同一でない場合、前記修飾子項を前記属性項に割り当てるために行われることを特徴とする請求項４に記載のコンピュータプログラム製品。
【請求項８】
前記データ要素は、前記属性項を意味論的に限定する属性項修飾子が関連付けられているようにさらに構成され、前記データタイプは、前記データタイプをさらに意味論的に限定する追加の修飾子項をさらに備え、前記動作は、前記データタイプの前記追加の修飾子項を、前記属性項修飾子に割り当てるステップをさらに含むことを特徴とする請求項５に記載のコンピュータプログラム製品。
【請求項９】
前記データ要素は、前記属性項を意味論的に限定する属性項修飾子、および前記オブジェクトクラス項を意味論的に限定するオブジェクトクラス項修飾子が関連付けられているようにさらに構成され、前記動作は、ユーザから追加の修飾子項を受け取るステップ、および前記追加の修飾子項を、前記属性項修飾子、前記オブジェクトクラス項修飾子、またはその両方に割り当てるステップをさらに含むことを特徴とする請求項１に記載のコンピュータプログラム製品。
【請求項１０】
前記データタイプは、前記修飾子項によって意味論的に限定されたデータタイプ項をさらに備え、前記データ要素は、表記項が関連付けられているようにさらに構成され、前記データタイプ項は、前記表記項に割り当てられることを特徴とする請求項１に記載のコンピュータプログラム製品。
【請求項１１】
前記データタイプは、追加の修飾子項をさらに備え、各追加の修飾子項は、前記データタイプをさらに意味論的に限定することを特徴とする請求項１に記載のコンピュータプログラム製品。
【請求項１２】
前記データ要素は、前記属性項を意味論的に限定する属性項修飾子が関連付けられているようにさらに構成され、前記動作は、追加の修飾子項が前記集約データ要素の前記名前内の項と同一でない場合、前記データタイプの前記追加の修飾子項を、前記属性項修飾子に割り当てるステップ、または前記追加の修飾子項が前記集約データ要素の前記名前内の項と同一である場合、前記データタイプの前記追加の修飾子項を、前記データ要素の前記オブジェクトクラス項の少なくとも一部分に割り当てるステップをさらに含むことを特徴とする請求項１１に記載のコンピュータプログラム製品。
【請求項１３】
各修飾子項はさらに、前記データタイプが表しうる値の制限に関連付けられていることを特徴とする請求項１１に記載のコンピュータプログラム製品。
【請求項１４】
前記動作は、新しいデータタイプ定義を、各限定されたデータタイプに関連付けるステップをさらに含むことを特徴とする請求項１３に記載のコンピュータプログラム製品。
【請求項１５】
前記データタイプは、集約データタイプであることを特徴とする請求項１に記載のコンピュータプログラム製品。
【請求項１６】
データ要素は、コアコンポーネント技術仕様（ＣＣＴＳ）に準拠した基本ビジネス情報エンティティ（ＢＢＩＥ）または関連ビジネス情報エンティティ（ＡＳＢＩＥ）であることを特徴とする請求項１に記載のコンピュータプログラム製品。
【請求項１７】
前記修飾子項は、別の修飾子項のためのプレースホルダである可変修飾子項であることを特徴とする請求項１に記載のコンピュータプログラム製品。
【請求項１８】
前記可変修飾子項は、すべての大文字を含み、非英数字記号で開始および終了することを特徴とする請求項１７に記載のコンピュータプログラム製品。
【請求項１９】
ビジネス情報を表す少なくとも１つの要素に名前を割り当てるシステムであって、
データ要素であって、前記データ要素が属する論理グループを表すオブジェクトクラス項、および前記論理グループの特徴を表す属性項が関連付けられているように構成されているデータ要素と、
前記論理グループを定義する集約データ要素と、
前記データ要素に割り当てることが有効な値を定義するデータタイプであって、前記データタイプを記述する追加の意味論的制限を表す修飾子項を備えるデータタイプと、
前記集約データ要素の名前に応じて、前記修飾子項を、前記データ要素の前記属性項と前記オブジェクトクラス項のうち少なくとも一方に割り当てる名前アサイナとを備えることを特徴とするシステム。
【請求項２０】
通信におけるビジネス情報を識別するデータ要素を命名する方法であって、
データ要素を、１つまたは複数のデータ要素を含む集約データ要素に関連付けるステップであって、前記データ要素は、前記データ要素が属する論理グループを表すオブジェクトクラス項、および前記論理グループの特徴を表す属性項が関連付けられているように構成されているステップと、
前記データ要素に割り当てることが有効な値を定義するデータタイプを選択するステップであって、前記データタイプは、前記データタイプを記述する追加の意味論的制限を表す修飾子項を備えるステップと、
前記集約データ要素の名前に応じて、前記修飾子項を、前記データ要素の前記属性項と前記オブジェクトクラス項のうち少なくとも一方に割り当てるステップと
を含むことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ要素命名システムおよび方法に関する。
【背景技術】
【０００２】
従来、企業はＥＤＩ（Ｅｌｅｃｔｒｏｎｉｃ  Ｄａｔａ  Ｉｎｔｅｒｃｈａｎｇｅ）を使用して電子ビジネス情報を交換している。ＥＤＩは、インターネットなどのネットワークを用いて異なる企業間のデータの転送を可能にする一組のプロトコルである。ＵＮ−ＪＥＤＩ（Ｕｎｉｔｅｄ  Ｎａｔｉｏｎｓ  Ｊｏｉｎｔ  Ｅｕｒｏｐｅａｎ  ａｎｄ  Ｎｏｒｔｈ  Ａｍｅｒｉｃａｎ  ｗｏｒｋｉｎｇ  ｐａｒｔｙ）とＡＮＳＩ（米国規格協会）の両者は、ＥＤＩの概要を示す規格を作成した。ＥＤＩは、従来の紙ベースの情報伝達よりも効率的な情報伝達を可能にしたが、比較的小規模の会社は、電子ビジネス（または電子コラボレーション）に参加することの困難に直面している。これらの企業は、複雑で高価なコンピュータシステムをローカルコンピュータに導入することや、インターネットを介してアクセスできるリモートコンピュータにあるマーケットプレイス（ｍａｒｋｅｔｐｌａｃｅ）に登録することに投資する必要がある。いずれの場合も、企業が、ローカルまたはリモートコンピュータシステムの詳細に制約される。変更があると、さらに、ソフトウェア、ハードウェア、ユーザのトレーニング、登録などの費用が生じる。
【０００３】
最近になって、ＸＭＬ（拡張マークアップ言語）の開発により、ビジネスデータを交換するためのフォーマットを定義する代替方法が提供された。ＸＭＬは、電子商取引を実施するためのより開かれた柔軟なアプリケーションを可能にするために使用できるシンタックス（ｓｙｎｔａｘ）を提供するが、ビジネスプロセスで使用されるメッセージについての標準化されたセマンティクス（ｓｅｍａｎｔｉｃｓ）を提供していない。ＸＭＬを使用して電子ビジネスデータを交換するための標準化されたフレームワークを定義するイニシアティブにより、ｅｂＸＭＬ（Ｅｌｅｃｔｒｏｎｉｃ  Ｂｕｓｉｎｅｓｓ  Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）ＣＣＴＳ（Ｃｏｒｅ  Ｃｏｍｐｏｎｅｎｔｓ  Ｔｅｃｈｎｉｃａｌ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）、およびＩＳＯ１１１７９などの仕様が作成された。ＩＳＯ１１１７９の一部分は、ｅｂＸＭＬ  ＣＣＴＳに組み込まれている。
【０００４】
【非特許文献１】“the Electronic Business Extensible Markup Language (ebXML) Core Components Technical Specification (CCTS) Version 2.01,” the United Nations Centre for Trade Facilitation and Electronic Business, November 15, 2003
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ｅｂＸＭＬ  ＣＣＴＳが記述するコンポーネントのうちの２つとして、データタイプおよびデータ要素がある。ＢＢＩＥ（Ｂａｓｉｃ  Ｂｕｓｉｎｅｓｓ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｅｎｔｉｔｙ）のようなデータ要素はデータタイプに基づいており、データタイプはＢＢＩＥに割り当てられうる値を定義する。データタイプおよびＢＢＩＥの属性を記述する定義を、将来の使用のためにリポジトリに格納することができる。ユーザは、データタイプまたはＢＢＩＥ名を用いてリポジトリを検索することができる。データタイプおよびデータ要素についての標準的命名法および定義ガイドラインは、いくつかの点でｅｂＸＭＬ  ＣＣＴＳに規定されておらず、そのため整合性のない名前および属性の定義がもたらされる。例えば、２人のユーザが２つの異なる方法でＢＢＩＥ名を作成することがある。別の例では、異なるユーザが、整合性のない方法で同様に修飾されたデータタイプを限定することがある。データタイプの整合性のない定義によって値の範囲の制限が不確定になるため、データタイプに基づいてＢＢＩＥを交換する業務の能力が低下する。
【０００６】
さらに、リポジトリ内の定義を用いてインスタンス化されるオブジェクトの名前に整合性がなくなり、異なる命名法および属性の定義がシステム通信の非互換性およびユーザの混乱を引き起こすことがあるため、企業間の通信に困難が生じるおそれがある。
【課題を解決するための手段】
【０００７】
本出願では、通信におけるビジネス情報を識別するデータ要素の命名技術を実装する、コンピュータプログラム製品を含む方法および装置を説明する。
【０００８】
ある一般的態様では、情報媒体に具現化されるコンピュータプログラム製品が説明される。コンピュータプログラム製品は、通信におけるビジネス情報を識別することができるいくつかのデータ要素の少なくとも１つを命名する動作を実行時に行う命令を含む。前記動作は、データ要素を、１つまたは複数のデータ要素を含む集約（ａｇｇｒｅｇａｔｅ）データ要素に関連付けることを含む。データ要素は、データ要素が属する論理グループを表すオブジェクトクラス項（ｏｂｊｅｃｔ  ｃｌａｓｓ  ｔｅｒｍ）およびその論理グループの特徴を表す属性項が関連付けられているように構成される。また、前記動作は、データ要素に割り当てることが有効な値を定義するデータタイプを選択することを含み、データタイプは、データタイプを記述する追加の意味論的（ｓｅｍａｎｔｉｃ）制限を表す修飾子項を含み、前記動作はさらに、修飾子項を、データ要素の属性項およびオブジェクトクラス項のうち少なくとも一方に割り当てることを含む。この割り当ては、集約データ要素の名前に依存する。
【０００９】
一実装形態では、集約データ要素を、論理グループを意味論的に定義する集約クラス項が関連付けられているように構成することができる。修飾子項が集約クラス項と同一である場合、修飾子項をオブジェクトクラス項に割り当てることが可能であり、修飾子項が集約クラス項と同一でない場合、修飾子項は属性項に割り当てられる。
【００１０】
別の実装形態では、前記動作は、集約データ要素の名前を修飾子項と比較することによって、修飾子項が属性項に割り当てられるか又はオブジェクトクラス項に割り当てられるかを決定することをさらに含むことができ、集約データ要素の名前は、集約クラス項を備える。前記決定は、修飾子項が集約クラス項と同一である場合、修飾子項をオブジェクトクラス項に割り当てるように行うことができる。データ要素は、オブジェクトクラス項を意味論的に限定するオブジェクトクラス項修飾子が関連付けられているようにさらに構成されることが可能であり、データタイプは、データタイプをさらに意味論的に限定する追加の修飾子項をさらに備え、前記動作は、データタイプの追加の修飾子項をオブジェクトクラス項修飾子に割り当てることをさらに含む。また、前記決定は、修飾子項が集約クラス項と同一でない場合、修飾子項を属性項に割り当てるように行うことができる。
【００１１】
データ要素は、属性項を意味論的に限定する属性項修飾子が関連付けられているようにさらに構成されることが可能であり、データタイプは、データタイプをさらに意味論的に限定する追加の修飾子項をさらに備え、前記動作は、データタイプの追加の修飾子項を、属性項修飾子に割り当てることをさらに含む。
【００１２】
別の実装形態では、データ要素は、属性項を意味論的に限定する属性項修飾子、およびオブジェクトクラス項を意味論的に限定するオブジェクトクラス項修飾子が関連付けられているようにさらに構成されることができる。前記動作は、ユーザから追加の修飾子項を受け取ることと、この追加の修飾子項を属性項修飾子、オブジェクトクラス項修飾子またはその両方に割り当てることとをさらに含むことができる。
【００１３】
データタイプは、修飾子項によって意味論的に限定されたデータタイプ項をさらに備えることができ、データ要素は、表記項が関連付けられているようにさらに構成され、データタイプ項は、表記項に割り当てられる。さらに、データタイプは、追加の修飾子項をさらに備えることができ、各追加の修飾子項は、データタイプをさらに意味論的に限定する。データ要素は、属性項を意味論的に限定する属性項修飾子が関連付けられているようにさらに構成されることが可能であり、前記動作は、追加の修飾子項が集約データ要素の名前における項と同一でない場合にデータタイプの追加の修飾子項を属性項修飾子に割り当てること、または追加の修飾子項が集約データ要素の名前における項と同一である場合にデータタイプの追加の修飾子項をデータ要素のオブジェクトクラス項の少なくとも一部分に割り当てることをさらに含む。
【００１４】
いくつかの実装形態では、各修飾子項を、データタイプが表しうる値の制限に関連付けることができ、前記動作は、新しいデータタイプ定義を各限定されたデータタイプに関連付けることをさらに含むことができる。
【００１５】
他の実装形態では、データタイプは、集約データタイプであり、データ要素は、コアコンポーネント技術仕様（ＣＣＴＳ）に準拠した基本ビジネス情報エンティティ（ＢＢＩＥ）または関連ビジネス情報エンティティ（ＡＳＢＩＥ）とすることができる。修飾子項は、別の修飾子項のためのプレースホルダ（ｐｌａｃｅ  ｈｏｌｄｅｒ）である可変修飾子項であってもよい。可変修飾子項は、すべての大文字を含むことができ、非英数字記号で開始および終了することができる。
【００１６】
別の一般的態様では、ビジネス情報を表す少なくとも１つの要素に名前を割り当てるシステムが説明される。システムは、データ要素が関連付けられている論理グループを表すオブジェクトクラス項、およびその論理グループの特徴を表す属性項が関連付けられているように構成されたデータ要素を備える。前記システムはまた、論理グループを定義する集約データ要素と、データ要素に割り当てることが有効な値を定義するデータタイプであって、データタイプを記述する追加の意味論的制限を表す修飾子項を備えるデータタイプと、集約データ要素の名前に応じて修飾子項をデータ要素の属性項およびオブジェクトクラス項のうち少なくとも一方に割り当てる名前アサイナ（ｎａｍｅ  ａｓｓｉｇｎｏｒ）とを備える。
【００１７】
さらに別の一般的態様では、通信におけるビジネス情報を識別するデータ要素を命名する方法が説明される。前記方法は、１つまたは複数のデータ要素を備える集約データ要素にデータ要素を関連付けることを含み、データ要素は、データ要素が属する論理グループを表すオブジェクトクラス項、およびその論理グループの特徴を表す属性項が関連付けられているように構成される。前記方法はまた、データ要素に割り当てることが有効な値を定義するデータタイプを選択することを含み、データタイプは、データタイプを記述する追加の意味論的制限を表す修飾子項を含み、前記方法はさらに、集約データ要素の名前に応じて修飾子項をデータ要素の属性項およびオブジェクトクラス項のうち少なくとも一方に割り当てることを含む。
【００１８】
本明細書に記載のシステムおよび技術の利点は、データタイプおよびデータ要素の命名法の整合性を改善すること、データタイプおよびデータ要素の整合的な命名の実施メカニズムを提供すること、企業間の通信を改善すること、データタイプおよびデータ要素の名前を定義するための論理的かつ均一な規格を提供すること、ならびにデータ要素、エンティティ、属性、およびデータタイプの名前の作成プロセスを簡素化することのうちいずれか又はすべてを含むことができる。
【００１９】
１つまたは複数の実施形態の詳細を、添付の図面および以下の説明に示す。実装形態の他の特徴、目的および利点は、以下の説明、図面、および特許請求の範囲から明らかとなるだろう。
【００２０】
様々な図における同様の参照記号は、同様の要素を示す。
【発明を実施するための最良の形態】
【００２１】
図１Ａは、ビジネスデータを表すために使用される、例示的集約データ要素インスタンス１００および関連するデータ要素インスタンス（簡潔性のために「データ要素」と呼ぶ）１０２Ａ〜Ｎの概略図である。例えば、集約データ要素インスタンスは、発注書を表すインスタンス化されたソフトウェアオブジェクトとすることができる。データ要素１０２Ａ〜Ｎは、発注書のサブコンポーネントまたは属性を表す。例えば、データ要素１０２Ａは、購入者の名前についての属性であって、テキスト文字列値「Ｊｏｈｎ  Ｓｍｉｔｈ」を保持することができる。データ要素または属性の集合が、集約データ要素インスタンス１００を形成する。
【００２２】
集約データ要素インスタンス１００を修飾するユーザまたは開発者は、集約データ要素の定義を拡張するために、新しいデータ要素１０４を追加することができる。例えば、モデラ（ｍｏｄｅｌｅｒ）が、発注書で指定された品目をいつ出荷すべきかを記述するデータ値を保持する属性を追加することができる。モデラは、図１Ｂに示されるシステムを用いて新しい要素が作成されたとき、そのデータ要素に名前１０６を割り当てる。
【００２３】
図１Ｂは、図１Ａに示されるデータ要素を命名する例示的システム１５０のブロック図である。システム１５０は、命名規則を使用して、データ要素に名前が整合的に割り当てられることを保証することができる。システム１５０は、データ要素名前アサイナ１５２、辞書１５４Ａ〜Ｃ、集約データ要素インスタンス１００、および、データタイプインスタンス１５８を含む。名前アサイナ１５２は、データタイプインスタンス１５８および集約データインスタンス１００を使用して、データ要素の名前を作成し、その名前を辞書１５４Ｃのデータ要素定義１５９に関連付ける。これについて、以下により詳細に説明する。
【００２４】
辞書１５４Ａは、集約データ要素インスタンス１００を作成するために使用される集約データ要素定義１６０を備える。一実装形態では、定義１６０は、集約データ要素インスタンスをインスタンス化するために使用されるクラス定義とすることができる。同様に、辞書１５４Ｂは、データタイプインスタンス１５８を作成するために使用されるデータタイプ定義を備える。集約データ要素定義１６０およびデータタイプ定義１６２からの破線の矢印１６４および１６６は、それぞれ集約データ要素インスタンス１００およびデータタイプインスタンス１５８のインスタンス化を表している。
【００２５】
集約データ要素インスタンス１００は、名前１６８を有し、名前１６８は、集約データ要素インスタンス１００が備えるデータ要素の論理グループを記述する１つまたは複数の項を備えることができる。上記の例を用いると、集約データ要素に、Ｐｕｒｃｈａｓｅ＿Ｏｒｄｅｒ．Ｄｅｔａｉｌｓと名付けることができ、この場合、テキスト「Ｐｕｒｃｈａｓｅ＿Ｏｒｄｅｒ」が、集約データ要素に含まれるデータ要素は発注書の属性であることを指定している。
【００２６】
また、データタイプインスタンス１５８は、修飾子項１７０を含む名前を有する。修飾子項は、データタイプの他の項を限定する。追加の修飾子項は、データタイプの意味を意味論的に限定する。例えば、データタイプの名前が、ＵＳ＿Ｐｅｒｓｏｎ．Ｔｙｐｅである場合に、修飾子項「ＵＳ」が、項「Ｐｅｒｓｏｎ」を修飾して、データタイプの意味を任意の人物のうちからある米国在住のある人物に限定する。さらに、一実装形態では、意味論的制限は、物理的制限に関連付けられる。例えば、データタイプの名前がＰｅｒｓｏｎ＿Ｎａｍｅ．Ｔｙｐｅである場合、データタイプは１０００文字の長さの文字列属性を有することができる。データタイプの名前がＵＳ＿Ｐｅｒｓｏｎ＿Ｎａｍｅ．Ｔｙｐｅとして意味論的に限定される場合、文字列属性は１００文字のみの文字列に物理的に限定される。
【００２７】
新しい要素に割り当てられる名前は、未割り当てのオブジェクトクラス項１７２、および未割り当ての属性項１７４を備える。データ要素名前アサイナ１５２は、図３に関連して説明される方法を用いて新しい要素に名前を割り当てる。この割り当ては、集約データ要素インスタンス１００の名前１６８に応じて、データタイプインスタンス１５８の修飾子１７０を新しいデータ要素のオブジェクトクラス項１７２または属性項１７４に割り当てることを含む。次いで、データ要素名前アサイナ１５２が、新しいデータ要素の名前を辞書１５４Ｃにおける対応するデータ要素定義に関連付ける。
【００２８】
図２は、一実装形態による、データ要素を命名する方法２００のフローチャートである。例えば、方法２００の動作は、データ要素名前アサイナ１５２を備えるコンピューティングデバイスによって実行することができる。方法２００は、ステップ２０２でデータ要素を集約データ要素に関連付けることから開始することができる。データ要素を、１つまたは複数のデータ要素を含む集約データ要素に関連付けることができる。データ要素は、データ要素が属する論理グループを表すオブジェクトクラス項、およびその論理グループの特徴を表す属性項が関連付けられているように構成されている。例えば、ユーザは、集約データ要素１００内に新しいデータ要素１０４を作成することを開始することができ、例えば、「ｐｕｒｃｈａｓｅ  ｏｒｄｅｒ（発注書）」集約データ要素内に「ｄｅｌｉｖｅｒｙ  ｄａｔｅ（引渡し期日）」データ要素をインスタンス化することを開始することができる。
【００２９】
ステップ２０４で、データ要素の修飾されたデータタイプの選択が行われる。データ要素に割り当てることが有効な値とともにデータ要素の物理（ｐｈｙｓｉｃａｌ）表現を定義するデータタイプが選択される。データタイプは、データタイプを記述する追加の意味論的制限を表す修飾子項を含む。データタイプはまた、追加の意味論的制限のために必要とされる値の物理表現の制限を含む。例えば、データタイプがＰｅｒｓｏｎ＿Ｎａｍｅ．Ｔｙｐｅである場合、文字列属性に関連付けられた１０００文字の物理的制限を有することができる。この物理的制限は、追加の意味論的限定子（ｒｅｓｔｒｉｃｔｏｒ）「Ｐｅｒｓｏｎ」に関連付けることができる。意味論的限定子なしのデータタイプ、例えば、Ｎａｍｅ．Ｔｙｐｅは、文字列属性に関連付けられた５０００文字のような、より制限の少ない物理的制限を有することができる。いくつかの実装形態では、ユーザは、要素が基づくデータタイプを選択することができる。例えば、ユーザは、特定の国を識別する値を割り当てることができるデータタイプ「Ｃｏｕｎｔｒｙ＿Ｃｏｄｅ．Ｔｙｐｅ」を指定する選択を、入力することができる。ユーザの選択は、データ要素名前アサイナ１５２によって受け取られ、指定されたデータタイプを選択するために使用される。次いで、選択されたデータタイプは、データ要素に割り当てられうる値の物理表現を限定するために使用される。
【００３０】
任意選択のステップ２０６で、データタイプ項の表記項への割り当てが行われる。データタイプはまた、修飾子項によって意味論的に限定されたデータタイプ項を含むことができ、データ要素はまた、表記項を含むことができる。データタイプ項は、表記項に割り当てられる。例えば、データタイプ「Ｃｏｕｎｔｒｙ＿Ｃｏｄｅ．Ｔｙｐｅ」は、修飾子「Ｃｏｕｎｔｒｙ」およびデータタイプ項「Ｃｏｄｅ」を有する。修飾子項「Ｃｏｕｎｔｒｙ」は、データタイプ項「Ｃｏｄｅ」が何を意味しうるかを限定し、この場合では、「Ｃｏｄｅ」は、国を表すコードに限定されている。データ要素は、３つの項、すなわち、オブジェクトクラス項、属性項、および表記項を含むことができる。未割り当てデータ要素項が、ＯｂｊｅｃｔＣｌａｓｓＴｅｒｍ．ＰｒｏｐｅｒｔｙＴｅｒｍ．ＲｅｐｒｅｓｅｎｔａｔｉｏｎＴｅｒｍの場合、データタイプ項の表記項への割り当ては、部分的に割り当てられたデータ要素「ＯｂｊｅｃｔＣｌａｓｓＴｅｒｍ．ＰｒｏｐｅｒｔｙＴｅｒｍ．Ｃｏｄｅ」となる。図２に示されるデータ要素名前アサイナ１５２は、この割り当てを実行することができる。
【００３１】
ステップ２０８で、データタイプの修飾子項が、集約データ要素名と一致するかどうかが判定される。方法２００の動作は、集約データ要素の名前を修飾子項と比較することによって、修飾子項が属性項またはオブジェクトクラス項に割り当てられるかを決定することを含み、集約データ要素の名前は、集約クラス項を備えている。例えば、データ要素名前アサイナ１５２は、修飾子項が集約クラス項と同一である場合、修飾子項をオブジェクトクラス項に割り当てることを決定することができ、次いで方法２００は、ステップ２１０に進む。あるいは、データ要素名前アサイナ１５２は、修飾子項が集約クラス項と同一でない場合、修飾子項を属性クラス項に割り当てることを決定することができ、次いで方法２００は、ステップ２１２に進む。
【００３２】
例えば、集約データ要素の名前が、「Ｃｏｕｎｔｒｙ．Ｄｅｔａｉｌｓ」であり、集約クラス項が、単語「Ｃｏｕｎｔｒｙ」でありうる。データタイプは、「Ｃｏｕｎｔｒｙ＿Ｃｏｄｅ．Ｔｙｐｅ」でありうる。ステップ２０８で、システム１５０は、データタイプ修飾子「Ｃｏｕｎｔｒｙ」が集約クラス項「Ｃｏｕｎｔｒｙ」と一致することを決定し、方法は、ステップ２１０に進む。一方、データタイプが「Ｃｏｕｎｔｒｙ＿Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ＿Ｃｏｄｅ．Ｔｙｐｅ」である場合、第１の修飾子項「Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ」が集約クラス項「Ｃｏｕｎｔｒｙ」と一致しないため、方法は、ステップ２１２に進む。
【００３３】
ステップ２１２で、データタイプの第１の修飾子項が、データ要素の属性項として割り当てられる。修飾子項は、集約データ要素の名前に応じて、データ要素の属性項またはオブジェクトクラス項に割り当てられる。したがって、決定ステップ２０８で、方法がステップ２１２に進む場合、データタイプの第１の修飾子項は、データ要素の属性項として割り当てられる。上記の例を用いると、データタイプが「Ｃｏｕｎｔｒｙ＿Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ＿Ｃｏｄｅ．Ｔｙｐｅ」であって、集約データ要素が「Ｃｏｕｎｔｒｙ．Ｄａｔａｉｌｓ」である場合、データ要素名前アサイナ１５２は、データタイプ修飾子「Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ」を、Ｃｏｕｎｔｒｙ．Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ．Ｃｏｄｅのようにデータ要素の属性項として割り当てる。ここでは、単語「Ｃｏｕｎｔｒｙ」がオブジェクトクラス項であり、単語「Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ」が属性項であり、単語「Ｃｏｄｅ」が表記項である。
【００３４】
任意選択のステップ２１４では、追加の修飾子項が集約データ要素名と一致するかどうかが判定される。データタイプは、「Ｃｏｕｎｔｒｙ＿Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ＿Ｃｏｄｅ．Ｔｙｐｅ」のように２つ以上の修飾子項を有することができ、ここで、「Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ」は、第１の修飾子項であり、「Ｃｏｕｎｔｒｙ」は、第２の修飾子項である。追加の修飾子項「Ｃｏｕｎｔｒｙ」が集約データ要素の名前と一致する場合、方法２００は、ステップ２１０に進む。追加の修飾子項が集約データ要素の名前と一致しない場合、方法２００は、ステップ２１６に進む。
【００３５】
ステップ２１６で、追加の修飾子が、属性項修飾子として割り当てられる。データ要素はまた、属性項を意味論的に限定する属性項修飾子を備える。さらに、データタイプが、データタイプを意味論的にさらに限定する追加の修飾子項を含み、ステップ２１６の実行により、データタイプの追加の修飾子項が、属性項修飾子に割り当てられる。例えば、データタイプが「Ｃｏｕｎｔｒｙ＿Ｎｕｍｅｒｉｃ＿Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ＿Ｃｏｄｅ．Ｔｙｐｅ」である場合、第１の修飾子が「Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ」であり、第２の修飾子が「Ｎｕｍｅｒｉｃ」である。集約クラス名が「Ｃｏｕｎｔｒｙ．Ｄｅｔａｉｌｓ」である場合、データ要素名は、「Ｃｏｕｎｔｒｙ．Ｎｕｍｅｒｉｃ＿Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ．Ｃｏｄｅ」であり、データ要素名前アサイナ１５２が、属性項「Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ」を意味論的に限定する属性項修飾子として「Ｎｕｍｅｒｉｃ」を割り当てる。この限定された意味論的記述は、例えば、英数字識別コードの代わりに、数値識別コードを割り当てられたデータ要素を記述する。データタイプが、複数の修飾子項を含む場合、任意選択の決定ステップ２１６を繰り返すことができる。
【００３６】
ステップ２１０で、修飾子コード項がオブジェクトクラス項として割り当てられる。方法２００は、データタイプの修飾子項が、集約データ要素の名前と一致するとき、ステップ２１０を実行する。例えば、集約データ要素が「Ｃｏｕｎｔｒｙ．Ｄｅｔａｉｌｓ」であり、データタイプが「Ｃｏｕｎｔｒｙ＿Ｃｏｄｅ．Ｔｙｐｅ」でありうる。この場合、生成されるデータ要素名は、「Ｃｏｕｎｔｒｙ．Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ．Ｃｏｄｅ」であり、データ要素名前アサイナ１５２は、データタイプ修飾子「Ｃｏｕｎｔｒｙ」を、データ要素のオブジェクトクラス項として割り当てる。
【００３７】
任意選択ステップ２１８で、追加の修飾子項が、オブジェクトクラス項修飾子として割り当てられる。データ要素は、オブジェクトクラス項を意味論的に限定する追加のオブジェクトクラス項修飾子を備えることができる。上述のように、さらに、データタイプが、データタイプを意味論的に限定する追加の修飾子項を備えることもできる。さらに、このデータタイプは、その意味論により与えられる要件に応じて物理的に限定されうる。例えば、データタイプＮａｍｅ．Ｔｙｐｅに修飾子項「Ｐｅｒｓｏｎ」を追加することにより、５０００文字から１０００文字にデータタイプにおける文字の列を限定することができる。データ要素名前アサイナ１５２は、追加のデータタイプ修飾子項をオブジェクトクラス項修飾子として割り当てることができる。例えば、データタイプが「Ａｕｔｏｍｏｂｉｌｅ＿Ｐｕｒｃｈａｓｅ  Ｏｒｄｅｒ＿Ｆｏｒｍ＿Ｃｏｄｅ．Ｔｙｐｅ」である場合、第１の修飾子項は「Ｆｏｒｍ」、第２の修飾子項は「Ｐｕｒｃｈａｓｅ  Ｏｒｄｅｒ」、第３の修飾子項は「Ａｕｔｏｍｏｂｉｌｅ」である。「Ｐｕｒｃｈａｓｅ  Ｏｒｄｅｒ」修飾子が、集約データ要素の名前と一致する場合、データ要素名前アサイナ１５２は、この修飾子を、データ要素クラスオブジェクト項として割り当て、修飾子項「Ａｕｔｏｍｏｂｉｌｅ」がクラスオブジェクト項修飾子として割り当てられる。より明示的には、割り当てられたデータ要素名は、「Ａｕｔｏｍｏｂｉｌｅ＿Ｐｕｒｃｈａｓｅ  Ｏｒｄｅｒ．Ｆｏｒｍ．Ｃｏｄｅ」である。
【００３８】
任意選択のステップ２２０では、データ要素の追加の属性項の選択が行われる。ユーザは、データタイプの修飾子項に基づいて属性項が割り当てられない場合、データ要素の属性項を選択することができる。例えば、データタイプは「Ｃｏｕｎｔｒｙ＿Ｃｏｄｅ．Ｔｙｐｅ」であり、集約データ要素は「Ｃｏｕｎｔｒｙ．Ｄｅｔａｉｌｓ」でありうる。次いで、ステップ２０２〜２１８の実行の結果、属性項の欠落したデータ要素がもたらされる。ユーザは、コード値を意味論的に限定するために、属性項として「Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ」を選択し入力することができる。データ要素名前アサイナ１５２と通信しているコンピューティングデバイスが、ユーザ入力をアサイナ１５２に渡し、次いでアサイナ１５２が、入力「Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ」を属性項として割り当てる。この割り当ての結果、データ要素名「Ｃｏｕｎｔｒｙ．Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ．Ｃｏｄｅ」がもたらされる。
【００３９】
任意選択のステップ２２２では、追加のクラスおよび属性修飾子の選択が行われる。属性項修飾子によって、属性項を意味論的に限定することができ、オブジェクトクラス項修飾子によって、オブジェクトクラス項を意味論的に限定することができる。ユーザは、（現在、データタイプ名に存在しない）追加の修飾子項を、オブジェクトクラス項、属性項、またはその両方に割り当てることができる。ユーザは、ユーザによる属性項の追加に関するステップ２２０に関連して説明された方法と同様の方法で、修飾子を入力することができる。ステップ２２２の後、方法２００は終了する。
【００４０】
図３Ａ〜３Ｄは、例えば図２の方法またはシステム１５０などで使用されうる命名規則の例示的適用を示している。図３Ａの例は、名前アサイナが、データタイプ要素の第１の修飾子をデータ要素の属性項として割り当てる状況を示している。図３Ａは、集約データ要素名「Ｅｘｈｉｂｉｔｅｄ＿Ｐｒｏｄｕｃｔ．Ｄｅｔａｉｌｓ」と、データタイプ名「Ｅｘｈｉｂｉｔｅｄ＿Ｐｒｏｄｕｃｔ＿Ｖａｌｕｅ  Ａｄｄｅｄ＿Ｔａｘ＿Ａｍｏｕｎｔ．Ｔｙｐｅ」と、集約データ要素およびデータタイプの名前を使用してデータ要素名前アサイナ１５２によって生成されるデータ要素名「Ｅｘｈｉｂｉｔｅｄ＿Ｐｒｏｄｕｃｔ．Ｖａｌｕｅ  Ａｄｄｅｄ＿Ｔａｘ．Ａｍｏｕｎｔ」とを含む。
【００４１】
集約データ要素名は、「Ｐｒｏｄｕｃｔ」と書かれている集約クラス項３０２と、「Ｅｘｈｉｂｉｔｅｄ」と書かれている集約クラス項修飾子３００とを備える。データタイプ名は、「Ｅｘｈｉｂｉｔｅｄ＿Ｐｒｏｄｕｃｔ＿Ｖａｌｕｅ  Ａｄｄｅｄ＿Ｔａｘ＿」と書かれている修飾子項３０４と、「Ａｍｏｕｎｔ」と書かれているデータタイプ項３０６とを備える。データ要素名は、表記項３０８、属性項３１０、属性修飾子項３１２、オブジェクトクラス項３１４、およびオブジェクトクラス項修飾子３１６を備える。アサイナ１５２は、データタイプ項３０６を表記項３０８として割り当てる。また、データ要素名前アサイナ１５２は、「Ｔａｘ」と書かれている第１の修飾子項が集約クラス項３０２と一致しないと決定し、したがって「Ｔａｘ」と書かれている修飾子項を、属性項３１０として割り当てる。この割り当ては、例示的方法２００のステップ２１２の割り当てに対応する。
【００４２】
次いで、アサイナは、次のデータタイプ修飾子「Ｖａｌｕｅ  Ａｄｄｅｄ」が集約クラス項と一致しないと決定し、したがって、この修飾子を属性項修飾子３１２として割り当てる。この決定および割り当ては、例示的方法２００のステップ２１４および２１６に対応する。次いで、アサイナ１５２は、「Ｐｒｏｄｕｃｔ」と書かれているその次の修飾子項が集約クラス項３０２と同一であると決定し、したがって、この修飾子項をオブジェクトクラス項３１４として割り当てる。この決定および割り当ては、例示的方法２００のステップ２１４および２１０に対応する。アサイナはまた、「Ｅｘｈｉｂｉｔｅｄ」と書かれている残りの修飾子項をオブジェクトクラス項修飾子３１６として割り当て、この割り当ては、例示的方法２００のステップ２１８に対応する。
【００４３】
一実装形態では、集約データ要素は、ＡＢＩＥ（ａｇｇｒｅｇａｔｅ  ｂｕｓｉｎｅｓｓ  ｉｎｆｏｒｍａｔｉｏｎ  ｅｎｔｉｔｙ）であり、データ要素は、ＢＢＩＥ（ｂａｓｉｃ  ｂｕｓｉｎｅｓｓ  ｉｎｆｏｒｍａｔｉｏｎ  ｅｎｔｉｔｙ）である。データタイプはそれぞれ、その全体が本明細書に組み込まれる非特許文献１に記述されているように実装されるデータタイプである。ＡＢＩＥは、企業間の通信で使用される例えば発注書などのビジネスオブジェクトを記述することができる。ＢＢＩＥは、ＡＢＩＥの属性または特徴、例えば、発注書で指定された発注書品目の量を表すことができる。データタイプは、ＢＢＩＥに割り当てられる値を定義することができる。例えば、ＢＢＩＥが「Ｔｅｘｔ．Ｔｙｐｅ」データタイプに基づいている場合、テキスト文字列のみをＢＢＩＥに割り当てることができる。
【００４４】
図３Ｂの例は、第１の修飾子が集約クラス項と同一である状況を示している。図３Ｂは、集約データ要素名「Ｃｏｕｎｔｒｙ．Ｄｅｔａｉｌｓ」、およびデータタイプ名「Ｃｏｕｎｔｒｙ＿Ｃｏｄｅ．Ｔｙｐｅ」を含む。これらを使用して、データ要素名前アサイナ１５２は、データ要素名「Ｃｏｕｎｔｒｙ．Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ．Ｃｏｄｅ」を生成する。この例では、アサイナ１５２は、「Ｃｏｄｅ」と書かれているデータタイプ項３０６を表記項３０８として割り当てる。「Ｃｏｕｎｔｒｙ」と書かれているデータタイプの第１の修飾子項３０４は、集約データ要素の「Ｃｏｕｎｔｒｙ」と書かれている集約クラス項と同一であり、したがってアサイナ１５２は、修飾子項３０４をデータ要素のオブジェクトクラス項３１４として割り当てる。この決定および割り当ては、図２の例示的方法２００のステップ２０８および２１０に対応する。
【００４５】
また、ユーザは、データ要素名前アサイナ１５２と通信しているコンピューティングデバイスに属性項値を選択して入力することができる。ここではユーザが、「Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ」と書かれている項を入力し、アサイナ１５２が、この項を属性項３１０として割り当てた。これは、例示的方法２００のステップ２２０に対応する。
【００４６】
図３Ｃの例は、データ要素名前アサイナ１５２が、修飾子項をオブジェクトクラス項の一部分として割り当てる状況を示している。図３Ａおよび３Ｂに関連して説明したように、アサイナ１５２は、「Ａｍｏｕｎｔ」と書かれているデータタイプ項３０６を表記項３０８として割り当て、「Ｔａｘ」と書かれている第１の修飾子項を属性項３１０として割り当て、属性項修飾子３１２をユーザ入力に基づいて割り当てる。「Ｐａｒｔ」と書かれている第２のデータタイプ修飾子が、「Ｓｐａｒｅ  Ｐａｒｔ」と書かれている集約クラス項（図３Ｃに図示せず）の一部分と同一であり、したがってアサイナは、「Ｐａｒｔ」と書かれている修飾子項をクラスオブジェクト項３１４の一部分として割り当てる。この決定および割り当ても、図２の例示的方法２００のステップ２１０に対応する。
【００４７】
図３Ｄの例は、図３Ａの例と同様の状況を示している。ここでは、データ要素名前アサイナ１５２は、「Ｃｏｄｅ」と書かれているデータタイプ項３０６をデータ要素の表記項３０８として割り当てる。データタイプの修飾子項３０４の「Ｆｏｒｍ」と書かれている第１の修飾子項は、集約クラス項「Ｃａｒ  Ｈｉｒｅ＿Ｐａｙｍｅｎｔ．Ｄｅｔａｉｌｓ」（図示せず）と一致しないため、属性項３１０として割り当てられる。「Ｐａｙｍｅｎｔ」と書かれている第２の修飾子項は、オブジェクトクラス項３１４として割り当てられ、「Ｃａｒ  Ｈｉｒｅ」と書かれている第３の修飾子項は、データ要素のオブジェクトクラス項修飾子３１６として割り当てられる。
【００４８】
図４Ａおよび４Ｂは、それぞれデータタイプを限定するプロセスを示す例示的ブロック図および例示的実装形態を示し、これらは、図１に示されるデータ要素の命名で使用される。図４Ａは、未修飾のデータタイプ４０２と、修飾されたデータタイプ４０４とを含む。矢印４０６は、未修飾データタイプから修飾されたデータタイプへの移行を表す。図１Ｂのシステム１５０は、未修飾データタイプ４０２に物理的制限および修飾子項４０８を加えることによって、修飾されたデータタイプ４０４への移行を達成することができる。
【００４９】
システム１５０は、システム１５０によってアクセス可能なリポジトリに格納された所定のセットの未修飾データタイプから、未修飾データタイプ４０２を選択することができる。リポジトリ内の各未修飾データタイプは、特定の表記項の最大限の限定されていない意味論的表現を示すことができる。修飾されたデータタイプはまた、特定の表記項の最大限の限定されていない物理表現を示すことができる。図４Ｂに示すように、例えば、未修飾データタイプ４０２は、「Ａｍｏｕｎｔ．Ｔｙｐｅ」であり、これを意味論的に限定する修飾子を有していないため、「Ａｍｏｕｎｔ」表記項についての未修飾かつ最も基本的な意味論的表現を示す。さらに、未修飾データタイプ４０２は、物理的制限４１０を有し、物理的制限４１０は、データタイプが表すことができる総桁数を「２７」に限定する「ｔｏｔａｌＤｉｇｉｔ」属性を含む。物理的制限４１０はまた、データタイプが表すことができる小数の桁数を「７」に限定する「ｆｒａｃｔｉｏｎＤｉｇｉｔｓ」属性を含む。未修飾データタイプの物理的制限は、データタイプの任意の使用においてデータタイプが表すことができる全部および小数部分の最大桁数を示す。
【００５０】
図１Ｂのシステム１５０は、未修飾データタイプ４０２に基づいて、修飾されたデータタイプ４０４を生成することができる。ユーザは、修飾されたデータタイプが基づく未修飾データタイプを選択することができる。ユーザはまた、さらなる物理的制限を入力して、未修飾の物理的制限のサブセットのみが、修飾されたデータタイプに割り当てられるように指定することもできる。ユーザはまた、新しい修飾されたデータタイプに対する修飾子項を入力することもできる。システム１５０は、この入力を受け取り、図４Ｂの修飾されたデータタイプ４０４「Ｔａｘ＿Ａｍｏｕｎｔ．Ｔｙｐｅ」のような対応する修飾されたデータタイプを生成することができる。
【００５１】
修飾子項「Ｔａｘ」の追加によって、量が課税額である意味にデータタイプが意味論的に限定される。さらに、ｔｏｔａｌＤｉｇｉｔｓおよびｆｒａｃｔｉｏｎＤｉｇｉｔｓ属性のそれぞれに対する物理的制限「１５」および「５」は、未修飾データタイプ「Ａｍｏｕｎｔ．Ｔｙｐｅ」によって表されうる値のサブセットである。値のサブセットを選択することにより、未修飾データタイプ４０２に対し、修飾されたデータタイプ４０４が物理的に限定される。
【００５２】
図４Ａおよび４Ｂには示されていないが、システム１５０は、追加の物理的制限および修飾子項４０８Ａ〜Ｎを修飾されたデータタイプ４０４に追加して、複数の修飾子項および対応する物理的制限を有する修飾されたデータタイプを生成することができる。例えば、システム１５０は、修飾されたデータタイプ４０４に修飾子項「ＵＳ」を追加して、さらに修飾されたデータタイプ「ＵＳ＿Ｔａｘ＿Ａｍｏｕｎｔ．Ｔｙｐｅ」を生成することができる。このさらに修飾されたデータタイプは、ｔｏｔａｌＤｉｇｉｔｓ＝「８」およびｆｒａｃｔｉｏｎＤｉｇｉｔｓ＝「４」のような対応する物理的制限を有することができる。
【００５３】
システム１５０が、新しい修飾されたデータタイプを生成するとき、新しい修飾されたデータタイプに関連付けられた定義は、システム１５０によってアクセス可能なリポジトリに格納することができる。この定義は、新しい修飾されたデータタイプの将来のインスタンスを作成するためのテンプレートの役割をする。
【００５４】
いくつかの実装形態では、データタイプは、集約データタイプでありうる。システム１５０は、データタイプに基づいたデータ要素の生成のための本出願で説明された方法と同様に、集約データ要素を集約データタイプに基づいて生成することができる。
【００５５】
図５は、データタイプを限定するために使用される可変の修飾子を有するデータタイプの例示的ブロック図である。図５は、いくつかのデータタイプ定義を含む辞書１５４Ｂを示している。少なくとも１つのデータタイプ定義５０２は、「ＬＯＮＧ」、「ＩＮＴＥＧＥＲ」、および「ＷＩＴＨＯＵＴ＿ＤＡＹＬＩＧＨＴ  ＳＡＶＩＮＧ」のような可変の修飾子項を含む。可変修飾子項の開始と終了の「＄」記号は、この項が可変の修飾子項であり標準の修飾子項でないことをユーザおよびシステムに示す。変数名を有するデータタイプは、抽象データタイプである。可変修飾子項は、抽象データタイプの特定の意味を表す。可変修飾子項の使用により、データタイプを物理的に限定する特定の修飾子項を実際に指定せずに、意味論的にデータタイプに対する技術的制限が伝達される。例えば、可変修飾子項を有するデータタイプは、「＄ＩＮＴＥＧＥＲ＄＿Ｎｕｍｅｒｉｃ．Ｔｙｐｅ」でありうる。可変修飾子項は、データタイプが整数値に限定されることを示すが、データタイプを必ずしも物理的に限定せず、例えば表現されうる整数の数を限定しない。いくつかの実装形態では、可変修飾子項は、意味論的および物理的制限に基づきそれらを表す、修飾されたデータタイプに対して使用されない。また可変項は、項内のすべての文字を大文字化することによって示すこともできる。可変修飾子項のデータタイプのタイプ名は、「＿ＩＮＴＥＧＥＲ＿」のように、アンダスコアと、後続する可変項およびもう１つのアンダスコアから構成してもよい。
【００５６】
データタイプ名における変数の使用により、システム１５０による特定のデータタイプの自動生成が可能になる。例えば、汎用データタイプ「＄ＣＯＵＮＴＲＹ＿ＳＰＥＣＩＦＩＣＳ＄＿Ｔａｘ＿Ａｍｏｕｎｔ．Ｔｙｐｅ」は、物理的制限「ｔｏｔａｌＤｉｇｉｔｓ＝２７」および「ｆｒａｃｔｉｏｎＤｉｇｉｔｓ＝７」を備えることができる。これらの物理的制限は、米国およびドイツの課税額に関する許容課税額の値を指定する「ＵＳ＿Ｔａｘ＿Ａｍｏｕｎｔ．Ｔｙｐｅ」および「ＤＥ＿Ｔａｘ＿Ａｍｏｕｎｔ．Ｔｙｐｅ」のような様々なデータタイプに対して適切でありうる。システム１５０は、項＄ＣＯＵＮＴＲＹ＿ＳＰＥＣＩＦＩＣ＄を、特定のコンテキストに関連付けられた修飾子項に置き換えることによって、汎用データタイプから特定のデータタイプを生成することができる。例えば、米国およびドイツの会社で使用するために新しい発注書を作成する場合、システムは、汎用データタイプ「＄ＣＯＵＮＴＲＹ＿ＳＰＥＣＩＦＩＣＳ＄＿Ｔａｘ＿Ａｍｏｕｎｔ．Ｔｙｐｅ」にアクセスし、項＄ＣＯＵＮＴＲＹ＿ＳＰＥＣＩＦＩＣ＄をＵＳおよびＤＥに置き換えて、新しいデータタイプ「ＵＳ＿Ｔａｘ＿Ａｍｏｕｎｔ．Ｔｙｐｅ」および「ＤＥ＿Ｔａｘ＿Ａｍｏｕｎｔ．Ｔｙｐｅ」をそれぞれ作成することができる。
【００５７】
図６は、一実装形態による、上述の動作に使用することができる汎用コンピュータシステム６００の概略図である。システム６００は、プロセッサ６１０、メモリ６２０、ストレージデバイス６３０、および入出力装置６４０を備える。システム６００は、システム１５０の一部分として、図２の方法２００を実行するために使用することができる。各コンポーネント６１０、６２０、６３０、および６４０は、システムバス６５０を使用して相互接続されている。例えば、データ要素の属性項などの入力のためにユーザによって用いられるＧＵＩ抽象化は、入出力装置６４０上で生成することができ、この入力は、システムバス６５０を使用してシステム６００の他のコンポーネントに伝達することができる。
【００５８】
プロセッサ６１０は、システム６００において実行される命令を処理することができる。一実施形態では、プロセッサ６１０はシングルスレッドプロセッサである。別の実施形態では、プロセッサ６１０はマルチスレッドプロセッサである。プロセッサ６１０は、入出力装置６４０を介して情報を受信または送信するための命令を含めて、メモリ６２０またはストレージデバイス６３０に格納された命令を処理することができる。
【００５９】
メモリ６２０は、システム６００内の情報を格納する。一実施形態では、メモリ６２０はコンピュータ可読媒体である。一実施形態では、メモリ６２０は揮発性メモリ装置である。他の実施形態では、メモリ６２０は不揮発性メモリ装置である。
【００６０】
ストレージデバイス６３０は、システム６００のための大容量ストレージを提供することができる。一実施形態では、ストレージデバイス６３０はコンピュータ可読媒体である。様々な実施形態において、ストレージデバイス６３０は、フロッピディスク装置、ハードディスク装置、光ディスク装置、またはテープ装置とすることができる。
【００６１】
入出力装置６４０は、システム６００のための入出力動作を提供する。一実施形態では、入出力装置６４０は、キーボードおよび／またはポインティングデバイスを備える。一実施形態では、入出力装置６４０は、グラフィカルユーザインターフェースを表示するための表示装置を備える。
【００６２】
上記の実施形態は、デジタル電子回路、あるいは、コンピュータハードウェア、ファームウェア、ソフトウェア、またはそれらの組合せに実装することができる。装置は、例えば機械可読ストレージデバイスまたは伝搬信号などの情報媒体に具現化され、プログラマブルプロセッサによって実行されるコンピュータプログラム製品に実装することができる。上記の実装形態の方法ステップは、命令のプログラムを実行するプログラマブルプロセッサにより実行して、入力データに基づいて動作し出力を生成することにより様々な実施形態の機能を実施することができる。様々な実施形態は、データおよび命令を送受信するためにデータストレージシステムと結合された少なくとも１つのプログラマブルプロセッサと、少なくとも１つの入力装置と、少なくとも１つの出力装置とを備えるプログラマブルシステム上で実行可能な、１つまたは複数のコンピュータプログラムで実装されることが好ましい。コンピュータプログラムは、コンピュータ内で、ある特定のアクティビティを実行し、またはある特定の結果をもたらすために、直接的または間接的に使用することができる１組の命令である。コンピュータプログラムは、コンパイル型またはインタプリタ型言語を含む任意の形態のプログラミング言語で書くことが可能であり、スタンドアロンプログラム、モジュール、コンポーネント、サブルーチン、またはコンピューティング環境で使用するために適切な他のユニットを含む任意の形態で展開することができる。
【００６３】
命令のプログラムの実行のための適切なプロセッサの例には、汎用および専用のマイクロプロセッサ、ならびに、任意の種類のコンピュータの単独プロセッサまたは複数プロセッサのうちの１つが含まれる。一般に、プロセッサは、ＲＯＭ、ＲＡＭ、またはその両方から命令およびデータを受け取る。コンピュータの重要な要素は、命令を実行するためのプロセッサ、ならびに命令およびデータを格納するための１つまたは複数のメモリである。また、コンピュータは、一般に、データファイルを格納するための１つまたは複数の大容量記憶装置を備え、あるいは、それらの装置と通信するために機能的に結合される。かかる装置には、内蔵ハードディスクやリムーバブルディスクなどの磁気ディスク、光磁気ディスク、および光ディスクが含まれる。コンピュータプログラム命令およびデータを具現化するために適切なストレージデバイスには、例えば、ＥＰＲＯＭ、ＥＥＰＲＯＭ、およびフラッシュメモリデバイスなどの半導体メモリデバイス、内蔵ハードディスクやリムーバブルディスクなどの磁気ディスク、光磁気ディスク、ならびに、ＣＤ−ＲＯＭおよびＤＶＤ−ＲＯＭディスクを含むすべての形態の不揮発性メモリが含まれる。プロセッサおよびメモリは、ＡＳＩＣ（特定用途向け集積回路）によって補強することができ、あるいはＡＳＩＣに組み込むことができる。
【００６４】
ユーザとの対話を可能にするために、様々な実施形態を、ユーザへ情報を表示するためのＣＲＴ（ブラウン管）またはＬＣＤ（液晶ディスプレイ）モニタのような表示装置と、ユーザが入力をコンピュータに供給するためのキーボードおよびマウスまたはトラックボールのようなポインティングデバイスとを有するコンピュータ上で実装することができる。
【００６５】
様々な実施形態が、データサーバのようなバックエンドコンポーネント、アプリケーションサーバまたはインターネットサーバのようなミドルウェアコンポーネント、グラフィカルユーザインターフェースまたはインターネットブラウザを有するクライアントコンピュータのようなフロントエンドコンポーネント、あるいはそれらの任意の組合せを備えるコンピュータシステムで実装されうる。コンピュータシステムのコンポーネントは、通信ネットワークなどデジタルデータ通信の任意の形態または媒体によって接続することができる。通信ネットワークの例には、ＬＡＮ、ＷＡＮ、ならびに、インターネットを形成するコンピュータおよびネットワークが含まれる。
【００６６】
コンピュータシステムは、クライアントおよびサーバを備えることができる。クライアントとサーバは、一般に互いに遠隔にあり、通常は上記のようなネットワークを介して対話する。クライアントとサーバの関係は、それぞれのコンピュータ上で実行されクライアント／サーバ関係を互いに有するコンピュータプログラムによって生じる。
【００６７】
種々の実施形態について上記に説明した。しかし、本出願に記載の実装形態の精神および範囲から逸脱することなく、様々な修正が可能なことを理解されたい。例えば、データタイプにおける変数として使用される項は、１つまたは複数の任意の取り決められた項を含むことができる。他の実装形態では、予め決められたリストの変数名のみを可変の修飾されたデータタイプに使用することができる。
【００６８】
属性項および追加の修飾子項は、必ずしもユーザによって入力される必要はない。代わりに、システム１５０が、データ要素が生成されるコンテキストに基づいて属性および追加の修飾子項を生成してもよい。例えば、集約データ要素が米国およびドイツの会社が使用する発注書である場合、データ要素「Ｐｕｒｃｈａｓｅ  Ｏｒｄｅｒ．ＵＳ＿Ｔａｘ．Ａｍｏｕｎｔ」について追加の修飾子項「ＵＳ」を生成して、ドイツの課税額を計算するために使用されるデータ要素「Ｐｕｒｃｈａｓｅ  Ｏｒｄｅｒ．ＤＥ＿Ｔａｘ．Ａｍｏｕｎｔ」と区別することができる。
【００６９】
さらに、修飾されたデータタイプは、それらが基づくデータタイプよりも物理的に限定される必要は必ずしもない。例えば、データタイプ「Ｔａｘ＿Ａｍｏｕｎｔ．Ｔｙｐｅ」が属性「ｔｏｔａｌＤｉｇｉｔｓ＝２７」を有し、このデータタイプに基づくデータタイプ「ＵＳ＿Ｔａｘ＿Ａｍｏｕｎｔ．Ｔｙｐｅ」もまた、属性「ｔｏｔａｌＤｉｇｉｔｓ＝２７」を有することが可能である。
【００７０】
別の実装形態では、辞書１５４Ａ〜Ｃは、集約データ要素、そのデータタイプ、およびデータ要素の定義を含む１つの辞書に統合することができる。システム１５０は、これらの定義に単一の辞書からアクセスして、対応するオブジェクトをインスタンス化することができる。
【００７１】
また、図に示された論理フローは、所望の結果を達成するために、図示の特定の配列または順番である必要はない。上記のフローについて、他のステップを追加してもいくつかのステップを除去してもよく、上記のシステムについて、コンポーネントを追加しても除去してもよい。したがって、他の実施形態が添付の特許請求の範囲の範囲内にある。
【図面の簡単な説明】
【００７２】
【図１Ａ】ビジネスデータを表すために使用される例示的集約データ要素および関連するデータ要素を示す概略図である。
【図１Ｂ】図１Ａに示されるデータ要素を命名する例示的システムを示すブロック図である。
【図２】一実装形態によるデータ要素を命名する方法を示すフローチャートである。
【図３Ａ】図２の方法において用いることができる命名規則の例示的適用を示す図である。
【図３Ｂ】図２の方法において用いることができる命名規則の例示的適用を示す図である。
【図３Ｃ】図２の方法において用いることができる命名規則の例示的適用を示す図である。
【図３Ｄ】図２の方法において用いることができる命名規則の例示的適用を示す図である。
【図４Ａ】図１に示されるデータ要素の命名に使用される、データタイプを限定するプロセスを示す例示的ブロック図である。
【図４Ｂ】図１に示されるデータ要素の命名に使用される、データタイプを限定するプロセスを示す例示的実装形態を示す図である。
【図５】データタイプを限定するために使用される可変修飾子を有するデータタイプを示す例示的ブロック図である。
【図６】汎用コンピュータシステムを示す概略図である。
【符号の説明】
【００７３】
１００  集約データ要素
１０２Ａ〜１０２Ｎ、１０４  データ要素
１５２  データ要素名前アサイナ
１５８  データタイプインスタンス
３０２  集約クラス項
３０４  修飾子項
３０６  データタイプ項
３０８  表記項
３１０  属性項
３１２  属性項修飾子
３１４  オブジェクトクラス項
３１６  オブジェクトクラス項修飾子
【図１Ａ】
2007149096.tif 000003
【図１Ｂ】
2007149096.tif 000004
【図２】
2007149096.tif 000005
【図３Ａ】
2007149096.tif 000006
【図３Ｂ】
2007149096.tif 000007
【図３Ｃ】
2007149096.tif 000008
【図３Ｄ】
2007149096.tif 000009
【図４Ａ】
2007149096.tif 000010
【図４Ｂ】
2007149096.tif 000011
【図５】
2007149096.tif 000012
【図６】
2007149096.tif 000013