(57)【要約】１つの実施例において、方法は機械読取可能媒体にキーフィールドを生成することを含む。キーフィールドはビジネスクラスに対するコンテキストとキーフィールドとビジネスクラスとの等価性を含むオントロジーロジックを有する。この方法はまた機械読取可能媒体にビジネスクラスを生成する。このビジネスクラスはキーフィールドとビジネスクラスとの等価性を含むオントロジーを有する。【選択図】図１
2008501192.tif 000002
【特許請求の範囲】
【請求項１】
機械読取可能媒体上にキーフィールドを生成し、そのキーフィールドはビジネスクラスに対するコンテキストとそのキーフィールドとビジネスクラスとの等価性を含むオントロジーロジックを有し、
制御読取媒体上に前記ビジネスクラスを生成し、前記ビジネスクラスは前記キーフィールドと前記ビジネスクラスとの間の等価性を含むオントロジーロジックを有してなる方法。
【請求項２】
機械読取可能媒体上のキーフィールドの生成は少なくとも一つの使用規則を含むキーフィールドを生成することからなる請求項１記載の方法。
【請求項３】
さらにキーフィールドとビジネスクラスに基づいてコードを発生することからなる請求項１記載の方法。
【請求項４】
キーフィールドとビジネスクラスとに基づいてコードを発生することはキーフィールドとビジネスクラスに基づいてオブジェクト指向コードを発生することからなる請求項３記載の方法。
【請求項５】
さらに実行可能な情報を発生するためにコードをコンパイルすることからなる請求項３記載の方法。
【請求項６】
その実行可能な情報を実行する請求項４記載の方法。
【請求項７】
ビジネスクラスとキーフィールドを含むパターン言語コードを受信するものであってキーフィールドはビジネスクラスのためのコンテキストと前記キーフィールドとビジネスクラスとの間の等価性とを含むオントロジーロジックを有し、オントロジーロジック内のコンテキストはプログラムコードの実行中にビジネスクラスから発生されたビジネスオブジェクトのためのコンテキストを実行するものであり、
パターン言語コードを構文解析して辞書を発生し、
その辞書に基づいてパターン言語コードにおける少なくとも一つのオブジェクトを表すデータベースにおける少なくとも一つのテーブルを発生することからなる方法。
【請求項８】
ビジネスクラスとキーフィールドを含むパターン言語コードを受信することは少なくとも一つの使用規則を含むキーフィールドを含むパターン言語コードを受信することからなる請求項７記載の方法。
【請求項９】
同じまたは異なる機械読取可能媒体上にキーフィールドを生成し、該キーフィールドはビジネスクラスのコンテキストとキーフィールドとビジネスクラスの間の等価性とを含むオントロジーロジックを有し、
同一または異なる機械読取可能媒体上にビジネスクラスを生成し、このビジネスクラスはキーフィールドとビジネスクラスの間の等価性を含むオントロジーロジックを有する機械で実行されたとき機械に動作をさせる命令を提供する機械読取可能媒体。
【請求項１０】
同じ又は異なる機械読取可能媒体上のキーフィールドを生成することは少なくとも一つの使用規則に含まれるキーフィールドを生成することからなる請求項９記載の方法。
【請求項１１】
さらにキーフィールドとビジネスクラスの両方に基づいてコードを生成することからなる請求項９記載の方法。
【請求項１２】
キーフィールドとビジネスクラスに基づいてコードを発生することはキーフィールドとビジネスクラスに基づいてオブジェクト指向コードを生成することからなる請求項１１記載の方法。
【請求項１３】
さらにコードをコンパイルして実行可能な情報を生成することからなる請求項１１記載の方法。
【請求項１４】
実行可能な情報を実行することからなる請求項１３記載の方法。
【請求項１５】
前記プログラムコードは、
ビジネスクラスと、
ビジネスクラスに対するコンテキストとキーフィールドとビジネスクラスとの間の等価性とを有するオントロジーロジックを有するキーフィールドであってオントロジーロジックにおけるコンテキストはプログラムコードの実行中にビジネスクラスから発生されたビジネスオブジェクトに対するコンテキストを実行することからなるプログラムコードでエンコードされた機械読取可能媒体。
【請求項１６】
ビジネスクラスはキーフィールドとビジネスクラスとの間の等価性を有するオントロジーロジックを有する請求項１５記載の機械読取可能媒体。
【請求項１７】
ビジネスクラスとキーフィールドを含むパターン言語コードを受信しキーフィールドはビジネスクラスのコンテキストとキーフィールドとビジネスクラスの間の等価性とを含むオントロジーロジックを有し、そのオントロジーロジックのコンテキストはプログラムコードの実行中にビジネスクラスから発生されたビジネスオブジェクトのオントロジーロジックのコンテキストを実行させるものであって、
パターン言語コードを構文解析して辞書を発生し、
その辞書に基づいてパターン言語コードにおける少なくとも一つのオブジェクトを表すデータベースにおける少なくとも一つのテーブルを生成する機械で実行されたときに該機械に動作を行わせる命令を与える機械読取可能媒体。
【請求項１８】
ビジネスクラスとキーフィールドを有するパターン言語コードを受信することは少なくとも一つの使用規則を含むキーフィールドのパターン言語コードを受信する請求項１７記載の機械読取可能媒体。
【請求項１９】
このプログラムコードは、
相関キーオブジェクトと、
シンボリックキー化オブジェクトと、
該シンボリックキー化オブジェクトのためのコンテキストとそのキーフィールドとシンボリックキー化オブジェクトとの等価性とを含むオントロジーロジックを含むキーフィールドであってオントロジーロジックにおけるコンテキストはプログラムコードの実行中にシンボリックキー化オブジェクトのためのコンテキストを実行することとからなるプログラムコードでエンコードされた機械読取可能媒体。
【請求項２０】
相関的キー化オブジェクトはプログラムコードの実行中にシンボリックキー化オブジェクトのキーフィールドを介してアクセスされる請求項１９記載の機械読取可能媒体。
【請求項２１】
相関的キー化オブジェクトのコンテキストはシンボリックキー化オブジェクトのためのコンテキストを含む機械読取可能媒体。
【請求項２２】
シンボリックキー化オブジェクトはキーフィールドとシンボリックキー化オブジェクトとの均等性を含むオントロジーロジックを含む請求項１９記載の機械読取可能媒体。
【請求項２３】
ビジネスクラスとキーフィールドとを含むパターン言語コードを記憶するパーシスタントデータ記憶部であってそれはビジネスクラスに対するコンテキストとキーフィールドとビジネスクラスとの等価性とを含むオントロジーロジックを有し、パターン言語コードからオブジェクト指向言語を発生するオブジェクト指向言語の発生部であって、ここでオブジェクト指向言語コードはビジネスクラスとフィールドクラスとの定義を含み、オントロジーロジックのコンテキストはオブジェクト指向コードの実行中にビジネスクラスから発生されたビジネスオブジェクトに対するコンテキストを実行することを含むシステム。
【請求項２４】
オブジェクト指向言語のコードはジャバである請求項２３記載のシステム。
【請求項２５】
さらにオブジェクト指向コードに基づいて実行可能な情報を生成するためのコンパイラを含む請求項２３記載のシステム。
【請求項２６】
さらに実行可能な情報を実行する実行部を含む請求項２５記載のシステム。
【請求項２７】
キーフィールドは少なくとも一つの使用規則を有する請求項２３記載のシステム。
【請求項２８】
少なくとも一つの使用規則はフィールド規則である請求項２７記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
＜著作権放棄＞
この特許書類の開示の一部には、著作権保護の請求がなされているものが含まれている。この著作権所有者は米国特許庁のファイルまたは記録に現れる特許書類または特許開示のいずれかの人によるファクシミリの再生に対しては異議はないが、しかし他のいかなる権利も留保する。
【０００２】
この出願はソフトウェア分野一般にかかりより具体的にはソフトウェアの開発と実行のためのキーフィールドレベルにおけるオントロジーコンテキストロジックに関する。
【背景技術】
【０００３】
設計、開発、コードの試験を含むソフトウェアアプリケーションの生成は典型的には繰り返しプロセスである。試験はコードの設計及びまたは開発における誤りを発見してもよい。したがってコードの設計及びまたは開発はかかる誤りを訂正するために更新される。かかるプロセスの時間量はしたがって典型的にはソフトウェアアプリケーションのサイズとかかるプロセスがいかによく実行されるかによる。コードのデバックに加えてソフトウェアのアプリケーションに追加機能を加えるために設計及びまたは開発に対して更新がなされる。
【０００４】
ソフトウェアアプリケーションの設計と開発に対する多数の異なったパラダイムがこれらのプロセスの時間を減少させるために試みられてきた。かかるパラダイムは手続きプログラム、機能プログラム、オブジェクト指向プログラム、アスペクト指向プログラム等を含む。これらの異なったパラダイムを使う設計者及び開発者は追加機能の更新や取り込みが現存のコード上に有するという効果を特定することが困難であるという欠点を有する。一般にこれは一般のプログラムまたは「実装」（インプリメンテーション）言語において洗練されたビジネスプロセスをモデル化することにおいて固有の高レベルの複雑さから生ずるものである。
【０００５】
ビジネスアプリケーションに特有のものとしてかかるアプリケーションの目的は自動ビジネスプロセスを助けることである。ビジネスプロセスは人のエージェントの間の相互作用が再帰するパターンである。ビジネスプロセスは環境の変化へ一連の適応を行うために時間とともに進化する。ビジネスプロセスは複雑な適応系である。ビジネスアプリケーションは時間のいかなる点においても複雑な適応系のモデルである。ビジネスアプリケーションの一面は、それがモデル化している適応及び発展するビジネスプロセスと共に適応し発展できるために十分に柔軟であるべきである。アプリケーションが発展するに十分なだけ柔軟でない時にはそれは固定的であるとみなされて取り替えられる。
【０００６】
ビジネスアプリケーションの柔軟性の欠如が発生するのは、それらが多次元問題をモデル化されるのに使われる時一般的なプログラム言語に固有な固定性から生ずる。一般に各次元の間の相互作用は言語において明示的にコード化されるという問題を有する。この状況に対しては、パラメーター化された機能から始まってその後オブジェクト指向プログラム、最も最近ではアスペクト指向プログラムによって改善がなされてきた。これらのアプローチのいずれも汎用コンピュータ言語に固有の機械的固定性を克服するものではない。
【発明を実施するための最良の形態】
【０００７】
キーフィールドレベルにおけるオントロジーコンテキストロジックのための方法、装置及びシステムが説明される。下記の説明において多数の特定な詳細が提示されている。しかしながらこの発明の実施例はこれらの特定の詳細を用いずに実施しても良いことが理解される。他の例においては周知の回路、構成及び技術はこの発明の理解を曖昧にしないように詳細には示されていない。
【０００８】
汎用コンピュータ言語において固有な機械的固定性を克服するために必要とされているものはビジネスアプリケーションの前記オントロジーがいかにモデル化され実装されるかに関連した次元（ディメンジョナリティ）問題を明示的に表すより詳細な設計あるいはパターン言語である。この発明のいくつかの実施例によればかかる設計やパターン言語を許可する。現在のアプローチの一つ問題はいかにその分析モデルとその分析モデルの実際の実装が完全にお互いに切り離されたという点が大きい。これはあたかも建物が青図から作られるけれども最終的には実際の建てられた建物は青図とは全く似ていないことと同じようなものである。
【０００９】
この発明のいくつかの実施例はオントロジー次元問題と分析モデルと実装との乖離問題とを克服する。かかる実施例がこれを行うのは、オントロジーロジックが一つの場所において明示的に定義され、そして全ての適切な次元上の交点において黙示的に参照されるようにするシステムのオントロジーを定義するためのユニークなメソドロジーへといくつかのキー概念を結びつけることによってである。第１の概念はシステムにおけるエンティティーは“境界”（その“完全”な定義）によって定義されるべきではなく、むしろそれはその“中心”その自存性（エーシアティー）または個性原理（ジスネス）によって定義されるべきである。第２の概念はこの中央それ自身はオントロジー的コンテキスト（ｏｎｔｏｌｏｇｉｃａｌ  ｃｏｎｔｅｘｔ）の言葉において供与（アフォーダンス）構造において定義されるということである。オントロジー的コンテキストそれ自身はシステムの中における他の中心によって補われる。第３の概念はこの中央が、その環境に適当に適応するためにその中に存在するものを発見することに責任を有ししたがって発見することが出来ることである。これは本質的には固定のコンテキストへの無感覚に基づく機械的な教師の否定である。それはむしろ、いかなるエンティティーもその環境に対する非常に高度のコンテキスト感覚を表している有機的なメタファを持つことである。この発明の実施例は機械的実装言語からコンテキスト有感の設計言語への移行を可能とする。
【００１０】
この発明の幾つかの実施例によればエンティティーはビジネスオブジェクトあるいは一組のビジネスオブジェクトとしてモデル化される。一組のビジネスオブジェクト又は一組のビジネスオブジェクトの中心はキーフィールドと呼ばれる新しい構成である。キーフィールドはどのビジネスオブジェクトあるいはどの一組のビジネスオブジェクトのためにそれが中心であるようなそれ自身で知っているフィールドのことである。さらにキーフィールドは他のいかなるキーフィールドもそれがその中で発見するコンテキスト内において存在すべき（あるいはしてもよい）ことをキーフィールドは知っている。そのキーフィールドは他のキーフィールドをいかにサーチし、それが実装しているパターン及びそれがその中に自分を見つけることができる構造が与えられたとして例えどんな特定のオントロジー規則が適当であろうともその一体化を維持するために各種の行動をいかに導くかを知っている。これらの能力があるので、キーフィールドはそれに値することができるいくつかの他のビジネスオブジェクト内に配置され、次元的交点においてコード化される必要が通常あるところの規則はキーフィールドに対して黙示的に与えられている。キーフィールドはまた自動的にそのコンテキストを発見しそれからそのコンテキストに基づいて適当なロジックを実行する。
【００１１】
この発明の実施例はお互いに相関する構造（たとえばオブジェクトとキーフィールド）を定義する設計パターン言語を含む。この発明の実施例はフィールド（キーフィールド）レベルにおいてロジックを定義する。以下に述べるように、キーフィールドはビジネスクラスを参照するためのシンボリックなやり方である。いくつかの実施例においてはビジネスクラスとキーフィールドとの間の一対一の関係がある。キーフィールドにおけるロジックは所定のクラスに対するコンテキストを含む。ロジックはキーフィールドとビジネスクラスとの間の等価性を含む。加えて、ロジックは一つのクラスに対するコンテキストを含む。
【００１２】
コードは設計パターン言語に基づいて生成される。この設計パターン言語コードは、設計パターン言語の規則が設計パターン言語コードの生成の間に適用されているかを決定するために構文解析される。例えばビジネスオブジェクトに関係したキーフィールドが所定コンテキストを含んでいるとする。ビジネスオブジェクトはこのようなコンテキストにおいて提示されていないならば誤りが設計パターン言語の構文解析中に発生する。これに加えて、オブジェクト指向コード（例えばジャバ及びＣ＋＋）は設計パターン言語コードに基づいて発生する。したがってこの発明の実施例によれば従来の設計及びコード化動作と比較して設計とコードのコーディングを相対的に相当高速にすることができる。
【００１３】
図１はこの発明のいくつかの実施例にしたがって、キーフィールドとシンボリックキー化オブジェクト間の関係の図示的な表現を示す。図１はキーフィールド１０２とシンボリックキー化オブジェクト１０６を含む。キーフィールド１０２はオントロジーロジック１０４を含む。いくつかの実施例において、キーフィールド１０２とシンボリックキー化オブジェクト１０６は所定のオブジェクト指向クラスのインスタント化されたオブジェクトである。
【００１４】
図示されているようにキーフィールドレベルにロジックすなわちオントロジーロジック１０４がある。いくつかの実施例においては、このオントロジーロジック１０４はキーフィールド１０２とシンボリックキー化オブジェクト１０６との間の等価性を定義する。示されていないけれどもシンボリックキー化オブジェクト１０６はまたキーフィールド１０２とシンボリックキー化オブジェクト１０６との間の等価性もまた含む。いくつかの実施例においてキーフィールド１０２は三つの異なるタイプの構成すなわち単一、グループ、アレイが存在する。
【００１５】
これに加えてオントロジーロジック１０４はシンボリックキー化オブジェクト１０６に対するコンテキストを含む。例えばシンボリックキー化オブジェクト１０６は国における地域を表す。したがってシンボリックキー化オブジェクト１０６のコンテキストは地域が存在する国であっても良い。説明されたように、コード化されたシステムの内のロジックはビジネスオブジェクトレベルよりもむしろキーフィールドレベルで定義される。
【００１６】
以下により詳細に説明される図８に例示されるようにいくつかの実施例において、もしオブジェクトがシンボリックキー化でないならばそれは相対キー化オブジェクトである。いくつかの実施例においてオブジェクトはふたつの方法の一方でそのオントロジーを得る。第１の方法はこの中心であるキーフィールドのオントロジーを得ることである。もしオブジェクトが中心オブジェクトに関係しているならば、第２の方法は中央オブジェクトとそのオブジェクトへのその関係とからそのオントロジーを得ることである。オブジェクトはシンボリックキー化オブジェクトに関係していることからオントロジーを得るものであってこれが相対キー化オブジェクトである。
【００１７】
したがってオントロジーロジックをキーフィールドレベルに置くことによってそのオブジェクトの全体としての構造を含む１つの位置を与える。他のオブジェクトがそのキーを介してこのオブジェクトを参照する。したがってこのオブジェクトの構造は単一の位置で更新され他のオブジェクトはそれらをこの新しい定義と再び揃えるようにする。オブジェクトのデータ構造はこのシステムを通して複製されない。
【００１８】
これに加えてシステムの基本的構造はキーフィールドの中にあり、これによってシステムの分析をこれらのキーフィールドへのアクセスに基づいて行う。今これらのキーとオブジェクトの蓄積は報告書の書き手、動的質問システムにまで役立ちまたはユーザ指向（シンボリックキー化）概念オブジェクト（会社、販売者、請求書、小切手等）に使われる。実装の複雑さは分析または概念的な見方からは隠されているがこれら二つは完全に実際の実装内で接続されるものである。
【００１９】
さらにオントロジーロジックをキーフィールドレベルに置くことによってシステム内のオブジェクトの抽象的なキーフィールド（例えば住所を示すオブジェクト）及びこのシステムを通しての定義を用いる。関係、規則及びロジックはこれらのキーの内で定義され、そしてこれによりこれらのキーフィールドを用いるオブジェクトによって初めから所有される。
【００２０】
シンボリックキー化オブジェクト１０６とキーフィールド１０２とが具体化されたクラスがアペンディックスＡ―Ｍに示される。これらは以下により詳細に説明される。他の定義実施例においては、アペンディックスＡないしＭに示されるクラスが図２ないし７に例示されるパターン言語コードから発生する。かかるコードは前コンパイルロジックへ入力されてオブジェクト指向コード（例えばジャバ、Ｃ＋＋等）を発生する。発生されたオブジェクト指向コードはコンパイルされ実行されるべき命令を発生する。この実施例において、アペンディックスＡ―Ｍに示されるキーフィールドとクラス定義はオブジェクト指向パラダイムに基づいている。
【００２１】
図２Ａはこの説明のいくつかの実施例にしたがって、ビジネスアプリケーションにおける会社を表すシンボリックキー化オブジェクトに対するクラス定義を示す。特に、図２Ａは“会社”を表すデータ構造であるクラス２００を例示する。クラス２００はオントロジー２０２、パターン２０４及びパーシスタントフィールド２０６を含む。オントロジー２０２はクラス２００の意味を定義する助けとなる。オントロジー２０２はクラス２００とキーフィールド“会社”（これは以下の図２Ｂに関して説明される）との間の関係を定義するコード２０３を含む。パターン２０４はクラス定義（生成機能、読み出し機能、更新機能、削除機能）の一部として多数の機能を発生させるものである。パーシスタントフィールド２０６は変数“名前”  （これは“Ａｌｐｈａ”型でありサイズ３０である）をクラス定義の一部として発生させるものである。発生されたクラス２００に対するオブジェクト指向コードの一実施例はアペンディックスＡに示されている。
【００２２】
図２Ｂはこの発明のいくつかのいくつかの実施例にしたがって、ビジネスアプリケーションにおける会社を表すものでありオントロジーロジックを有するキーフィールドに対するクラス定義を例示する。特に、図２Ｂは“会社”を表すデータ構造であるキーフィールド２２０を例示する。キーフィールド２２０は表現２２２及びオントロジー２２４を含む。表現２２２はキーフィールドに対する変数名を表すサイズ１０のＡｌｐｈａ型の変数を発生させる。したがって表現２２２はサイズ１０を有する文字列である。オントロジー２２４はキーフィールド２２０の意味を定義する。オントロジー２２４はキーフィールド２２０とクラス２００“会社”との間の関係を定義する。したがってクラス２００のコード２０３及びキーフィールド２２０内のコード２２６はクラス２００とキーフィールド２２０の関係を示す。キーフィールド２２０に対する発生されたオブジェクト指向コードの実施例はアペンディックスＢに示される。  
【００２３】
図３Ａはこの発明のいくつかの実施例にしたがって、ビジネスアプリケーションにおける会社における人資源データを表すシンボリックキー化オブジェクトに対するクラス定義を例示する。ことに図３Ａは“人資源（ＨＲ）（会社データ）”を表すデータ構造であるクラス３００を例示する。クラス３００はオントロジー３０２、パターン３０４、パーシスタントフィールド３０６及びフィールド規則３０８を含む。
【００２４】
オントロジー３０２はクラス３００の意味を定義する助けとなる。オントロジー３０２はクラス３００とキーフィールド“ＨＲ会社”（これは図３Ｂ以下に関係して説明される）との関係を定義するコード３０３を含む。パターン３０４はクラス定義（生成機能、読み出し機能、更新機能及び削除機能）の一部として多数の機能を生成するためのコード３０５を含む。  
【００２５】
パーシスタントフィールド３０６はコード３１０、３１１及び３１２を含む。コード３１０及び３１１は変数“名前”（これは“Ａｌｐｈａ”型でサイズ３０である）及び最近の従業員（これは“数値”でありそのサイズ９である）をそれぞれクラス定義の一部として発生させるものである。コード３１２はパーシスタントフィールドの“オートシーカンス”（これは“Ａｌｐｈａ”型でありサイズは１である）を定義しこれは状態の規則である。ことに状態規則はフィールドの有効値が何であるかを定義する。この場合において、状態規則は“オートシーカンス”が値“Ｙｅｓ”を持つ（これは“Ｙ”としてコード化される）及び“Ｎｏ”（これは“Ｎ”としてコード化される）のみ有することができる。
【００２６】
フィールド規則ルール３０８は名前フィールドが値を含むことを要求するコード３１４を含む。名前フィールドと相互作用をするオブジェクトは名前フィールドを空白にする動作を行うことを不可能にされる。フィールド規則３０８は、またオートシーカンスフィールドが空白に残されるならば、かかるフィールドはコード３１２において“Ｎ”であるとして特定される“オートシーカンスナンバー”の値に設定されるべきであるということを要求するコード３１４を含む。クラス２００に対する発生されたオブジェクト指向コードの一実施例はアペンディックスＣに示されている。
【００２７】
図３Ｂは、この発明のいくつかの実施例にしたがって、オントロジーロジックを有しビジネスアプリケーションにおける会社の人資源を表すキーフィールドに対するクラス定義を示す。ことに図３Ｂは会社に於ける人資源部門を表すデータ構造であるキーフィールド３２０を示す。キーフィールド２２０は（図２Ｂに示される）会社に対するキーフィールドの要素をそのキーフィールドに対して初めから持たせるコード３２２を含む。例えばキーフィールド３２０はオントロジー２２４を含む。  
【００２８】
キーフィールド３２４もまたオントロジー３２４を含む。オントロジー３２４はキーフィールド３２０とクラス３００“ＨＲ会社データ”との関係を示すコード３２６を含む。したがってクラス３００におけるコード３０３とキーフィールド３２０におけるコード３２６はクラス３００とキーフィールド３２０の関係を提示する。キーフィールド３２０に対して発生されたオブジェクト指向コードの一実施例はアペンディックスＢに示される。
【００２９】
図４Ａは、この発明のいくつかの実施例にしたがってビジネスアプリケーションにおける会社の従業員を表すシンボリックキー化オブジェクトに対するクラス定義を示す。ことに図４Ａは“従業員マスタ”の従業員を表すデータ構造であるクラス４００を示す。クラス４００はオントロジー４０２、パターン４０６、パーシスタントフィールド４１０引き出された（抽出）フィールド４１４及びフィールド規則４１８を含む。
【００３０】
オントロジー４０２はクラス４００とキーフィールド“従業員”（これは以下の図４Ｂに示されている）の関係を定義する。パターン４０６は多数の機能をクラス定義の一部（生成機能、読み出し機能、更新機能及び削除機能）として発生させるためのコード４０８を含む。
【００３１】
パーシスタントフィールド４１０は多数の変数をクラス定義の一部として生成させるためのコード４１２を含む。変数は名前、住所、従業員が働く国（労働国）一次給与領域（例えば所定の州）（一次給与領域）及び二次給与領域（二次給与領域）。
【００３２】
抽出フィールド４１４は給与レイトフィールド掛ける４０（一週間の労働時間）の計算として定義される“標準週給”である引き出されたあるいは計算されたフィールドを定義するコード４１６を含む。この引き出されたフィールドが参照される時はいつでも、それはこの計算を実行しその結果を返す。フィールド規則４１８はインスタンス化された“従業員オブジェクト”が名前、住所、働く国及び一次給与領域を含むことを要求するコード４１８を含む。クラス４００に対する発生されたオブジェクト指向コードの一実施例はアペンディックスＥに示される。
【００３３】
図４Ｂはビジネスアプリケーションにおける会社の従業員を表すと共にオントロジーロジックを有するキーフィールドのためのクラス定義を示す。ことに図４Ｂは会社における従業員を表すデータ構造であるキーフィールド４３０を示す。キーフィールド４３０は表現４３２、オントロジー４３６及びフィールド規則４４４を含む。表現４３２はキーフィールドに対する代表的変数名であるサイズ９の数値型の変数を発生させるコード４３４を含む。したがって表現４３２はサイズ９を持つ数値である。
【００３４】
オントロジー４３６はキーフィールド４３０と“従業員マスタ”であるクラス４００との関係を定義するコード４３８を含む。したがってクラス４００におけるコード４０４とキーフィールド４３０におけるコード４３８はクラス４００とキーフィールド４３０との関係を定義する。フィールド規則４４４はもしフィールド“会社オートシーカンス”が値“Ｙｅｓ”（一つの“Ｙ”）を有するならばそのとき新しい従業員が加わったときはいつでも、“会社，最近従業員”から使用されている最近従業員数を検索することによって従業員フィールドの値が決定されそして一をこの値に加える。この規則はこの新しい従業員を含むように“会社，最近従業員”フィールドを更新しても良い。キーフィールド４３０用の発生されたオブジェクト指向コードの一実施例はアペンディックスＦに示される。
【００３５】
図４Ｃはこの発明のいくつかの実施例にしたがって、ビジネスアプリケーションにおける会社の従業員の扶養家族を表すシンボリックキー化オブジェクトのためのクラス定義を示す。ことに図４Ｃは“従業員の扶養家族”という従業員の扶養家族を表すデータ構造であるクラス４５０を示す。クラス４５０はオントロジー４５２、パターン４５８、パーシスタントフィールド４６２及び引き出されたフィールド４６６を含む。
【００３６】
オントロジー４５２はクラス４００とクラス４５０との関係を定義する４５４を含む。ことにオントロジー４５２は“従業員の扶養家族”は“従業員マスタ”の一部であることを示す。これに加えて、オントロジー４５２はクラス４５０に対する相関キーが“名前”（これは“Ａｌｐｈａ”型でありサイズ３０である）を示すコード４５６である。パターン４５８は多数の機能をクラス定義（生成機能、読み出し機能、更新機能及び削除機能）の一部として発生させる。
【００３７】
パーシスタントなフィールド４６２は変数“誕生日”をクラス定義の一部として発生させるコード４６４を含む。引き出されたフィールド４６６は現在の日付から誕生日を引く計算によって定義される“年齢”である引き出された又は計算されたフィールドを定義するコード４６８を含む。この引き出されたフィールドがいつ参照されようとも、それはこの計算は実行しその結果を返す。クラス４００に対して発生されたオブジェクト指向コードの一つの実施例はアペンディックスＧに示される。
【００３８】
図５Ａは、この発明のいくつかの実施例にしたがって、ビジネスクラスにおける会社における給与コードを表すシンボリックキー化オブジェクトのためのクラス定義を示す。ことに図５Ａは給与コード（“給与コードテーブル”）を表すデータ構造であるクラス５００を示す。クラス５００はオントロジー５０２、パターン５０６及びパーシスタントフィールド５１０を含む。
【００３９】
オントロジー５０２はクラス５００と“給与コード”（として図５Ｂに関して以下に説明される）であるキーフィールドとの関係を定義するコード５０４を含む。パターン５０６は多数の機能（生成機能、読出し機能、更新機能及び削除機能）をクラス定義の一部として発生させるコード５０８を含む。
【００４０】
パーシスタントフィールド５１０は多数の変数をクラス定義の一部として発生させるコード５１２を含む。変数は記述と給与レイトを含む。クラス４００に対する発生されたオブジェクト指向コードの一実施例はアペンディックスＨに示される。
【００４１】
図５Ｂはこの発明のいくつかの実施例にしたがって、ビジネスアプリケーションにおける会社の給与コードを表しオントロジーロジックを有するキーフィールドのためのクラス定義である。ことに図５Ｂは会社に於ける異なった従業員に対する給与コードを表すデータ構造であるキーフィールド５２０を示す。キーフィールド５２０は表現５２２とオントロジー５２６を含む。表現５２２はキーフィールドに対する代表的変数名であるＡｌｐｈａ型とサイズ５の変数を発生するコード５２４を含む。
【００４２】
オントロジー５３０はキーフィールド５２２の意味を定義する。オントロジー５３０はキーフィールド５２０と“給与コードテーブル”であるクラス５００との関係を定義するコード５２８を含む。したがって、クラス５００におけるコード５０４とキーフィールド５２２におけるコード５２８はクラス５００とキーフィールド５２０との関係を定義する。
【００４３】
オントロジー５３０は“ＨＲ会社”と任意のものである“国コード”及び任意のものである“地域”を含むコンテキスト５３０を含む。したがって“給与コード”は“ＨＲ会社”オブジェクト、任意のものである“国コード”オブジェクト及び任意のものである“地域”オブジェクトを含むコンテキスト内にのみ存在する。“給与コード”は“ＨＲ会社”オブジェクト、任意のものである“国コード”オブジェクト及び任意のものである“地域”オブジェクトによって与えられる。言い換えれば、“給与コード”は“ＨＲ会社”オブジェクト、任意のものである“国コード”オブジェクト及び任意のものである“地域”オブジェクトのコンテキスト内においてのみ意味を有する。このコンテキスト５３０は“ＨＲ会社”の中央におかれたオブジェクト、“国コード”の中央におかれた任意のものであるオブジェクト及び“地域”の中央におかれたオブジェクトに対する“給与コード”の中央におかれたオブジェクトからの一対一の要求される関係を生成する。
【００４４】
したがってこの定義構造の１つの特徴は“給与コード”はそれ自身フィールドであり、“ＨＲ会社”が存在しているあるコンテキストの中にない場合には十分な意味を有さないのことである。さらにこのコンテキストを決める責任は“給与コード”フィールドに対して黙示的に残されている。したがって“給与コード”キーフィールドはいくつかのコンテキスト（スクリーン、グループフィールド、ビジネスオブジェクト等）へ導入された後で、このキーフィールドは周囲のコンテキストを検査し関係付けるもっとも適当な“ＨＲ会社”フィールドを決める責任を取る。これはコンテキストに動的に不明瞭さに基づかなくするための意味上のプラグアンドプレイプロトコルを定義する。適当な“ＨＲ会社”の解決は実行時に行われてもよい。この実行時の解決の一例は、“オブジェクト指向プログラムに対するオントロジー的コンテキスト規則を実行するための方法及びシステム”という名称の米国特許出願番号１０／８５７，３４３により詳細に述べられている。その出願はこの本出願に開示されている実施例の譲受人であるローソンソフトウェア会社へ譲渡され、その出願はここにこの出願の一部として参照される。キーフィールド５２０に対する発生されたオブジェクト指向コードの一実施例はアペンディックスＩに示されている。
【００４５】
図６Ａはこの発明のいくつかの実施例にしたがって、ビジネスアプリケーションにおける会社を表すシンボリックキー化オブジェクトに対するクラス定義を示す。ことに図６Ａは“国”である国を表すデータ構造であるクラス６００を示す。クラス６００はオントロジー６０２、パターン６０６及びパーシスタントフィールド６１０を含む。
【００４６】
オントロジー６０２はクラス６００と“国コード”（これは以下に図６Ｂに関して説明する）であるキーフィールドとの関係を定義する。パターン６０６は多数の機能をクラス定義（生成機能、読み出し機能、更新機能及び削除機能）の一部として生成するコード６０８を含む。
【００４７】
パーシスタントフィールド６１０は変数をクラス定義の一部として生成するコード６１２を含む。変数はサイズ５０の“Ａｌｐｈａ”型である“名前”である。クラス６００に対する発生されたオブジェクト指向コードの一実施例はアペンディックスＪに示される。
【００４８】
図６Ｂはこの発明のいくつかの実施例にしたがって、ビジネスアプリケーションにおける国コードを表すキーフィールドのためのクラス定義を示す。ことに図６Ｂはビジネスクラスの国コードを表すデータ構造であるキーフィールド６２０を示す。キーフィールド６２０は表現６２２及びオントロジー６２６を含む。表現６２２はキーフィールドの代表番号である“Ａｌｐｈａ”型のサイズ２の変数を発生するコード６２４を含む。
【００４９】
オントロジー６２６はキーフィールド６２０の意味を定義する。オントロジー６２６はキーフィールド６２０と“国”であるクラス６００との間の関係を定義する。したがってクラス６００におけるコード６０４とキーフィールド６２０におけるコード６２８はクラス６００とキーフィールド６２０の間の関係を定義する。キーフィールド６２０に対するオブジェクト指向コードを発生するための一実施例はアペンディックスＫに示されている。
【００５０】
図７Ａはこの発明のいくつかの実施例にしたがって、ビジネスアプリケーションにおける地域を表すシンボリックキー化オブジェクトのためのクラス定義を示す。ことに図７Ａは国における“地域”を表すデータ構造であるクラス７００を示す。例えば１つのオブジェクトは米国の西部地域に対しての例示である。クラス７００はオントロジー７０１、パターン７０４、パーシスタントフィールド７０６及びフィールド規則７０８を含む。
【００５１】
オントロジー７０２はクラス７００と（以下に図７Ｂに関して説明される）“地域”キーフィールドとの関係を定義するコード７０４を含む。パターン７０６はクラス定義（生成機能、呼び出し機能、更新機能及び削除機能））の一部として多数の機能を発生させるコード７０８を含む。パーシスタントフィールド７１０は変数をクラス定義の一部として発生させるコード７１２を含む。その変数はサイズ５０の“Ａｌｐｈａ”型の“名前”である。フィールド規則７１３は名前フィールドが入れられるべき（そして定義されないことはない）ことを要求するコード７１４を含む。クラス７００に対するオブジェクト指向コードを発生するための一実施例はアペンディックスＬに示される。
【００５２】
図７Ｂはこの発明のいくつかの実施例にしたがって、ビジネスアプリケーションにおける地域を表すキーフィールドに対するクラス定義を示す。ことに図７Ｂはビジネスアプリケーションにおける国コードを表すデータ構造であるところのキーフィールド７２０を示す。キーフィールド７２０は表現７２２とオントロジー７２６とを含む。表現７２２はキーフィールド７２０に対する代表変数であるサイズ１０のＡｌｐｈａ型の変数を発生させるコード７２４を含む。
【００５３】
オントロジー７２６はキーフィールド７２０の意味を定義する。オントロジー７２６はキーフィールド７２０と“地域”であるクラス７００との関係を定義するコード７２８を含む。したがってクラス７００におけるコード７０４とキーフィールド７２０におけるコード７２８はクラス７００とキーフィールド７２０との関係を定義する。
【００５４】
オントロジー７２６は“国コード”のコンテキスト７３０を含む。したがって“地域”は“国コード”オブジェクトのコンテキスト内のみに存在する。“地域”は“国コード”オブジェクトによって与えられる。他の言葉に言い換えれば“地域”は“国コード”オブジェクトのコンテキスト内にのみその意味を有する。コンテキスト７３０は“国コード”上の中央におかれたコンテキストに有する“地域”上の中央のオブジェクトからの一対一で要求される関係を生成する。キーフィールド７２０に対する発生されたオブジェクト指向コードの一実施例はアペンディックスＭに示される。
【００５５】
図８はこの発明のいくつかの実施例にしたがって、キーフィールド、シンボリックキー化オブジェクト及び多数の相関キー化オブジェクト間の関係を表す図である。ことに図８は概念的オブジェクト８０２を示す。概念オブジェクト８０２はシンボリックキー化されたオブジェクト８０４、キーフィールド８０６及び多数の相関キー化されたオブジェクト（Ａ―Ｎ）８０８Ａ―８０８Ｎを含む。キーフィールド８０６はシンボリックキー化されたオブジェクト８０４へ結合される。シンボリックキー化されたオブジェクト８０４は相関キー化されたオブジェクト（Ａ―Ｎ）８０８Ａ―８０８Ｎへ結合される。
【００５６】
相関キー化オブジェクトはシンボリックキー化オブジェクトを介してアクセスされる概念オブジェクトの一要素あるいは一部である。図示を助けるために、概念オブジェクト８０２はビジネスのための購入注文を表してもよい。したがって、シンボリックキー化オブジェクト８０４は購入注文（所定の数値ＩＤ等を介して）を表す。キーフィールド８０６は購入注文を参照するために使用される。相関キー化オブジェクト（Ａ―Ｎ）８０８Ａ―８０８Ｎは購入注文上の異なったラインに存在してもよい。したがって購入注文９５６０１のライン３は購入注文のライン３を表す相関キー化オブジェクトをアクセスするためにこの購入注文のためのシンボリックキー化オブジェクトに対するキーフィールドを介してアクセスされる。したがって相関キー化オブジェクトは所定のシンボリックキー化オブジクトのコンテキストを必要とする。
【００５７】
図１ないし８はキーフィールドとシンボリックキー化オブジェクトとこれらのキーフィールドを記憶するためのデータベーステーブルとの関係を示すものであるが、図９ないし１３はこの発明のいくつかの実施例にしたがって、パターン言語との生成とオブジェクト指向コードとそれから実行体の発生に関するシステムアーキテクチュと動作を説明する。
【００５８】
図９はこの発明のいくつかの実施例にしたがって、所定のクラスに対する多数のシンボリックキー化オブジェクトを記憶するためのデータベースにおけるテーブルを示す。ことに、図９はシンボリックキー化コラム９０２、オントロジー的コンテキストフィールド＃１コラム９０４、オントロジー的コンテキストフィールド＃Ｎコラム９０６、パーシスタントフィールド＃１コラム９０８及びパーシスタントフィールド＃Ｎコラム９１０を含むテーブル９００を示す。図示のように、テーブル９００に対するクラスは一から多数の異なるオントロジー的コンテキスト及び一から多数の異なるパーシスタントフィールドを含む。
【００５９】
図１０はこの発明のいくつかの実施例にしたがって、キーフィールドとシンボリックキー化オブジェクトを含むパターン言語の生成と処理のためのシステムを示すブロック図である。そのシステムのための動作は図１１ないし１２を参照して以下により詳細に述べる。図１０に示されているように、システム１０００はパーシスタントなデータ記憶部１０１２を含む。以下に述べる動作の異なった部分の期間パーシスタントデータ記憶部１０１２は何も記憶しないか以下のものの全てより少ないかあるいは以下の全てを記憶する。その以下とは高級オブジェクト指向言語コード１０１４、パターン言語コード１０１６、オブジェクトコード１０１８及びデータベース１０２０のことである。
【００６０】
パーシスタントデータ記憶部１０１２、構文解析部１００２、データベーステーブル発生部１００４、オブジェクト指向コード発生部１００６及びコンパイラ１００８は共に結合される。ソフトウェアの開発者はパターン言語コード１０１６を生成すると共にパーシスタントデータ記憶部１０１２に記憶する。構文解析部１００２はパターン言語コード１０１６を構文解析し、異なったキーフィールド／対応クラスに対する辞書テーブルを発生する。この辞書テーブルに基づいて、データベーステーブル発生部１００４は１から多数の異なったデータベーステーブルを発生しデータベース１０２０へと記憶する。例示的なデータベーステーブルは上述した図５に示される。
【００６１】
オブジェクト指向コード発生部１００６はパターン言語コード１０１６に基づいて高級オブジェクト指向コード１０１４を発生する。コンパイラ１００８は高級オブジェクト指向コード１０１４に基づいてオブジェクトコード１０１８を発生する。パーシスタントデータ記憶部１０１２は実行部１０１０へもまた結合される。いくつかの実施例において実行部１０１０はオブジェクトコード１０１８を実行するために必要な全ての部材を含む。例えば実行部１０１０はプロセッサ、メモリ、ジャバ実行時環境のようなソフトウェア（カリフォルニア州サンタクラのサンマイクロシステム社から入手可能である。）
図１０に示されまたそうでなければ本発明の実施例に関連して用いられている機能のいずれかも、ここに説明されている動作を行うための命令を含む機械読取可能媒体を含む。機械読取可能媒体は機械（例えばコンピュータ）によって読取可能な形式において情報を与える（すなわち記憶する及びまたは送信する）機構を含む。例えば、機械読取可能媒体はリードオンリーメモリ（ＲＯＭ）あるいはランダムアクセスメモリ（ＲＡＭ）、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリ装置、電気的光学的音響的あるいは他の形態の伝搬信号を含む（たとえば、搬送波、赤外線、デジタル信号）。この発明の実施例によれば、機能部は、ここに記述された動作を実行するための他の型のロジック（例えばデジタルロジック）でもよい。
【００６２】
図１１はこの発明のいくつかの実施例にしたがって、シンボリックキー化オブジェクトの記憶のためのデータベースにおけるテーブルの発生のためのフロー図である。システム１０００によって行われる多数の動作をフロー図１１００は記述する。
【００６３】
ブロック１１０２において、パターン言語コードが受信される。図１０の実施例を参照すると、構文解析部１００２はパターン言語コードを受信する。異なったパターン言語コードの例は図１ないし７に例示されている。制御はブロック１１０４に継続する。
【００６４】
ブロック１１０４においてパターン言語コードは構文解析をされて詳細情報の保管場所を発生する。図１０の実施例を参照すると構文解析部１００２はパターン言語コードを構文解析して詳細情報保管場所を発生する。詳細情報保管場所はパターン言語コードに基づいて異なったクラス定義を含む。詳細情報はパターン言語で表現された内部の関係が明示的に解決されるときクラスのネットワークであっても良い。いくつかの実施例において、構文解析部１００２は異なったクラス定義を含む解決されていない詳細情報保管場所を発生する。構文解析部１００２はいかにかかるクラス定義がパターン言語コードにより定義されているかに基づいて関連クラス定義間のリンクに沿って異なったクラス定義を含む解決された詳細情報保管場所を発生する。例えば図８の異なったオブジェクト間のリンクはそれらのオブジェクトに対する構文解析動作のときの解決された詳細情報保管場所の一部である。制御はブロック１１０６に継続する。
【００６５】
ブロック１１０６においてパターン言語コードにおいてオブジェクトの表現されるテーブルがデータベースに生成される。図１０の実施例を参照して、データベーステーブル発生部１００４はパーシスタントデータ記憶部１０１２におけるデータベース１０２０に対するテーブルを発生する。データベース１０２０に記憶されたテーブルの一実施例でありオブジェクトの表現であるものは図９に示される。したがってその一部のいくつかの実施例において、データベーステーブルはパターン言語コードにおける異なったオブジェクトのそれぞれに対して生成され、パーシスタントなデータ記憶部に記憶される。いくつかの実施例においては、これらのデータベーステーブルは最初は空である。図１２のフロー図１２００と関連してさらに説明すると、オブジェクト指向コードはパターン言語コードに基づいて発生される。オブジェクト指向コードの後続実行の間に、異なったオブジェクトに対するデータが生成され適当なデータベーステーブルに記憶される。フロー図１１００の動作は完了する。
【００６６】
図１２は、この発明のいくつかの実施例にしたがって、キーフィールドと関連するシンボリックキー化オブジェクトとに基づいて設計されたソフトウェアアプリケーションの生成と実行のフロー図である。ことにフロー図１２００はシステム１０００によって実行される多数の動作を記述する。
【００６７】
ブロック１２０２においてパターン言語コードが受信される。図１０の実施例を参照して、オブジェクト指向コード発生部１００６はパターン言語コードを受信する。異なったパターン言語コードの例は図１ないし７に示される。制御はブロック１２０４に継続する。
【００６８】
ブロック１２０４においてオブジェクト指向コードはパターン言語コードに基づいて発生される。図１０の実施例を参照して、オブジェクト指向コード発生部１００６はパターン言語コードに基づいてオブジェクト指向コードを発生する。オブジェクト指向コードはアペンディックスＡ−Ｍに示されるように異なったクラス定義を含む。制御はブロック１２０６に継続する。
【００６９】
ブロック１２０６においてオブジェクト指向コードはコンパイルされて実行可能なデータを発生する。図１０の実施例を参照してコンパイラ１００８は実行可能なデータを生成するためにオブジェクト指向コードをコンパイルする。制御はブロック１２０８に継続する。
【００７０】
ブロック１２０８において、実行可能なデータが実行される。図１０の実施例を参照して、実行部１０１０は実行可能なデータを実行する。上述したように、実行の一部として、異なるクラス定義に基づいて生成された異なるオブジェクトに対するデータはデータベース１０２０に記憶されているデータベースに記憶される。フロー図１２００の動作は完了する。
【００７１】
このセクションは発明の実施例が実施される例示的ハードウエア及び動作環境の概観を示す。図１３はこの発明のいくつかの実施例に関係して用いられる例示的コンピュータシステムを示す。図１３に示すように、コンピュータシステム１３００はプロセッサ１３０２を含む。コンピュータシステム１３００はまたメモリ部１３３０、プロセッサのバス１３２２及び入出力制御ハブ（ＩＣＨ）１３２４を含む。プロセッサ１３０２、メモリ部１３３０及びＩＣＨ１３２４はプロセッサのバス１３２２に接続される。プロセッサ１３０２は適当なプロセッサ構成を有する。コンピュータシステム１３００は１、２、３またはそれ以上のプロセッサからなり、そのいかなるものもこの発明の少なくともいくつかの実施例にしたがって一組の命令を実行する。
【００７２】
一実施例において、コンピュータシステム１３００は動的にオントロジー的コンテキストを検索する方法論のいずれか１つまたは全てを具体化する一組の命令を記憶する機械読取可能媒体を含む。例えば構文解析１００２、データベーステーブル発生部１００４、オブジェクト指向コード発生部１００６、コンパイラ１００８及びまたは実行部１０１０はソフトウェアでもよい。
【００７３】
メモリ部１３３０はデータ及びまたは命令を記憶し、例えば動的アクセスメモリ（ＤＲＡＭ）のような適当なメモリからなるとコンピュータシステム１３００もまたＩＤＥドライブ１３０８及びまたは他の適当な記憶装置を含む。図示されてはいないが、メモリユニット１３３０、プロセッサ１３０２及びまたはＩＤＥドライブ１３０８は少なくとも、構文解析部１００２、データベーステーブル発生部１００４、オブジェクト指向コード発生部１００６、コンパイラ１００８、実行部１０１０、高級オブジェクト指向言語コード１０１４、パターン言語コード１０１６、データベース１０２０及びまたはオブジェクトコード１０１８の少なくとも一部を含む。グラフィック制御部１３０４はこの発明の実施例にしたがって表示装置１３０６上の情報表示を制御する。
【００７４】
入出力制御ハブ（ＩＣＨ）１３２４はコンピュータシステム１３００のためのＩ／Ｏ装置及び周辺部材へのインターフェースを提供する。ＩＣＨ１３２４はプロセッサ１３０２、メモリ部１３３０及びまたはＩＣＨ１３２４と通信する適当な装置あるいは部材に対して適切な通信リンクを提供するためのいかなる適切なインターフェース制御部からなってもよい。この発明の実施例においてＩＣＨ１３２４は各インターフェースに対する適応なアービトレーションとバッファリングをする。
【００７５】
発明の実施例として、ＩＣＨ１３２４はハードディスクドライブ（ＨＤＤ）、コンパクトディスク読出専用メモリ（ＣＤＲＯＭ）のドライブのような一部のそれぞれまたはそれ以上の適当なインテグレーディドドライブエレクトロニクス（ＩＤＥ）ドライブ１３０８へ又は１又はそれ以上のＵＳＢポートを介して適当なユニバーサル直列バス（ＵＳＢ）装置のいずれかへのインターフェースを与えるものである。一実施例にとって、ＩＣＨ１３２４はまたキーボード１３１２、マウス１３１４、ＣＤ−ＲＯＭドライブ１３１８、１またはそれ以上のファイヤーワイヤーポート１３１６を介した一またはそれ以上の適当な装置へのインターフェースを与える。この発明の一実施例にとって、ＩＣＨ１３２４はまたコンピュータシステム１３００が他のコンピュータシステムおよびまたは装置と通信することが出来るネットワークインターフェース１３２４を提供する。
【００７６】
この記述において、多数の特定な詳細たとえばロジック実装、オペコード（ｏｐｃｏｄｅｓ）、オペランドを特定する手段、資源境界分け／共有／二重化実装、システム部品のタイプや相関性及びロジックの境界分け及び統一の選択はこの発明の理解をより深い理解を提供するために提出される。しかしながらこの発明の実施例がかかる特定の詳細さなしに実施できるといことは当業者にとっては明らかであろう。他の例として、制御構造、ゲートレベルの回路、十分なソフトウェアの命令シーケンスはこの発明の実施例を不明瞭にしないためにより詳細には示されなかった。当業者にとっては、不当な実験なしに適当な機能をここに含まれた記載に基づいて実装することができるであろう。
【００７７】
明細書において“一つの実施例”“一実施例”“例示的実施例”等の参照表現は、説明された実施例が特定の機能、構造または特徴を含んでいることを示しているが各実施例は必ずしもその特定の機能、構成又は特徴を含まなくてもよい。さらにかかる用語は同じ実施例を必ずしも参照しているのではない。さらに特定の機能、構造、特徴が一つの実施例について説明されたときであっても、それが明示的に述べられようとあるいはそうでないであろうとの他の実施例に関連してかかる機能、構造、特徴に影響することが当業者の知識から明らかであるということも述べられる。
【００７８】
この発明の実施例は、機械読取可能媒体によって与えられる機械実行可能な命令内で実現できる機能、方法またはプロセスを含む。機械読取可能媒体は機械（例えばコンピュータ、ネットワーク装置、パーソナルデジタル補助装置、製造器具、一又はそれ以上のプロセッサの組を有する装置等）によりアクセス可能な形な情報を提供（すなわち記憶及び送信）する機構を含む。例示的実施例においては、機械読取可能媒体は揮発性及び不揮発性媒体（例えばリードオンリーメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリ装置等）および電気的、光学的、音響的あるいは他の形の伝播信号（例えば搬送波、赤外信号、デジタル信号等）を含む。
【００７９】
かかる命令は汎用のあるいは特殊用途のプロセッサであって命令によりプログラムされているものに対してこの発明の実施例の方法やプロセスを実行させるために使われる。他の方法としてこの発明の実施例の機能や動作は動作を実行するためのハードワイヤーロジックを有する特定のハードウエア部材を使ってあるいはプログラムされたデータ処理部材と特定のハードウエア部材との組み合わせによって実行される。この発明の実施例はソフトウェア、データプロセッシングのハードウエア、データ処理システムの実装方法及び各種の処理動作を含みさらにはここに記述されている。
【００８０】
この発明の実施例にしたがって、多数の図面はキーフィールドレベルにおけるオントロジーコンテキストロジックのためのシステムや装置のブロック図を示す。この発明の実施例にしたがって多数の図面はキーフィールドレベルにおいてオントロジーコンテキストロジックの動作を示すフロー図である。フロー図の動作はブロック図に示されたシステムや装置を参照して説明される。しかしながらフロー図の動作はブロック図を参照して述べられたものより以外のシステムや装置の実施例によって実行することができ、そのシステムや装置を参照して述べられた実施例はフロー図を参照して述べられたものとは異なった動作を実行することができる。
【００８１】
ここに述べられた実施例の大きな多様性に鑑みて、これらの詳細な説明は単に例示的に過ぎず発明の権利を制限するものと考えられるべきではない。この発明でクレームされたところのものはしたがって以下のクレームやそれらの均等物の範囲と精神内のあらゆる変形例で含むものである。したがって明細書の図面は限定的な意味ではなく例示的な意味として考えられるべきである。
【図面の簡単な説明】
【００８２】
この発明の実施例は、かかる実施例を例示する以下の説明と添付図面を参照することにより最もよく理解される。ここにおける図の番号付けは、図における所定参照番号に対する最初の番号がその図の番号に対応する。例えばキーフィールド１０２は図１に存在する。しかしながら参照番号は異なった図面に対して同じものであるならば同じ番号となる。
【図１】図１は、この発明のいくつかの実施例に従う、キーフィールドとシンボリックキー化オブジェクトとの関係を示す図を例示する。
【図２Ａ】図２Ａは、この発明のいくつかの実施例に従う、ビジネスアプリケーションにおける会社のシンボリックキー化オブジェクト表現のためのクラス定義を例示する。
【図２Ｂ】図２Ｂは、この発明のいくつかの実施例に従う、ビジネスアプリケーションにおいてオントロジーロジックを有し、会社を表わすキーフィールドに対するクラス定義を例示する。
【図３Ａ】図３Ａは、この発明のいくつかの実施例に従う、ビジネスアプリケーションにおける会社内の人資源データを表わすシンボリックキー化オブジェクトに対するクラス定義を図示する。
【図３Ｂ】図３Ｂは、この発明のいくつかの実施例に従う、ビジネスアプリケーションにおいてオントロジーロジックを有し会社の人資源を表わすキーフィールドに対するクラス定義を図示する。
【図４Ａ】図４Ａは、この発明のいくつかの実施例に従う、ビジネスアプリケーションにおける会社の従業員を表すシンボリックキー化オブジェクトのクラス定義を図示する。
【図４Ｂ】図４Ｂは、この発明のいくつかの実施例に従う、ビジネスアプリケーションにおいてオントロジーロジックを有し会社の従業員を表わすキーフィールドに対するクラス定義を図示する。
【図４Ｃ】図４Ｃは、この発明のいくつかの実施例に従う、ビジネスアプリケーションにおける会社の従業員の扶養家族を表わすのシンボリックキー化オブジェクトのクラス定義を図示する。
【図５Ａ】図５Ａは、この発明のいくつかの実施例にしたがって、ビジネスアプリケーションにおいてオントロジーロジックを有し会社の給与コードを表わすシンボリックキー化オブジェクトのためのクラス定義を図示する。
【図５Ｂ】図５Ｂは、この発明のいくつかの実施例にしたがって、ビジネスアプリケーションにおいてオントロジーロジックを有し、会社の給与コードを表わすキーフィールドのためのクラス定義を図示する。
【図６Ａ】図６Ａは、この発明のいくつかの実施例にしたがって、ビジネスアプリケーションにおける国を表わすシンボリックキー化オブジェクトのためのクラス定義を図示する。
【図６Ｂ】図６Ｂは、この発明のいくつかの実施例にしたがって、ビジネスアプリケーションにおける国コードを表すキーフィールドのためのクラス表現を例示する。
【図７Ａ】図７Ａは、この発明のいくつかの実施例にしたがって、ビジネスアプリケーションにおける地域を表すシンボリックキー化オブジェクトのためのクラス表現を例示する。
【図７Ｂ】図７Ｂは、この発明のいくつかの実施例にしたがって、ビジネスアプリケーションにおける地域を表すキーフィールドのクラス定義を例示する。
【図８】図８は、この発明のいくつかの実施例にしたがって、キーフィールドとシンボリックキー化オブジェクトと多数の相対キー化オブジェクトの関係を図示する。
【図９】図９は、この発明のいくつかの実施例にしたがって、所定クラスにおける多数のシンボリックキー化オブジェクトの記憶のためのデータベースにおけるテーブルを図示する。
【図１０】図１０は、この発明のいくつかの実施例にしたがって、キーフィールドとシンボリックキー化オブジェクトを有するパターン言語の生成と処理のためのシステムを例示するブロック図である。
【図１１】図１１は、この発明のいくつかの実施例にしたがって、シンボリックキー化オブジェクトの記憶のためのデータベースにおいてテーブルの発生を示すフロー図である。
【図１２】図１２は、この発明のいくつかの実施例にしたがって、キーフィールドとそれと関連したシンボリックキー化オブジェクトに基づいて設計されたソフトウェアアプリケーションの生成と実行のためのフロー図を示す。
【図１３】図１３は、この発明のいくつかの実施例とともに用いられる例示的なコンピュータシステムを図示する。
【図１】
2008501192.tif 000003
【図２Ａ】
2008501192.tif 000004
【図２Ｂ】
2008501192.tif 000005
【図３Ａ】
2008501192.tif 000006
【図３Ｂ】
2008501192.tif 000007
【図４Ａ】
2008501192.tif 000008
【図４Ｂ】
2008501192.tif 000009
【図４Ｃ】
2008501192.tif 000010
【図５Ａ】
2008501192.tif 000011
【図５Ｂ】
2008501192.tif 000012
【図６Ａ】
2008501192.tif 000013
【図６Ｂ】
2008501192.tif 000014
【図７Ａ】
2008501192.tif 000015
【図７Ｂ】
2008501192.tif 000016
【図８】
2008501192.tif 000017
【図９】
2008501192.tif 000018
【図１０】
2008501192.tif 000019
【図１１】
2008501192.tif 000020
【図１２】
2008501192.tif 000021
【図１３】
2008501192.tif 000022