【手続補正書】
【提出日】平成20年2月29日(2008.2.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
そこにコンピュータ可読命令を記憶したコンピュータ可読媒体であって、前記コンピュータ可読命令はコンピュータによって実行されると、前記コンピュータに、
概念モデルのプリミティブを定義するユーザ入力データを受信するプロセスと、なお、前記概念モデルは、オブジェクトモデル、ダイナミックモデル、機能モデル、そして表示モデルを含み、これらは共に自動的に生成されるターゲットコンピュータプログラムの完全な機能を定義し、そして前記ターゲットコンピュータプログラムの機能とそのインタフェースメカニズムを完全に定義するために必要な、前記ターゲットコンピュータプログラム、他のソフトウエアコード以外のもの、コードコンポーネント、コードライブラリまたは他の何らかのサードパーティのソフトウエアアーチファクトの機能を有するユーザまたは他のプロセスとのインタラクションのための完全なインタフェースメカニズムを定義し、
前記ユーザ入力データを、シンタックスとセマンティックスのルールを有する形式言語文法によって編成されている形式言語ステートメントという形態によるデータ構造に自動的に変換するプロセスと、なおこのような形式言語ステートメントのすべての集積が形式言語仕様書を形成し、
前記概念モデルと機能的等価物でありそして前記表示モデルを定義する前記ユーザによって入力されたプリミティブによって定義されるユーザインタフェースを有する前記ターゲットコンピュータプログラムの完全で動作可能なコードへの自動的な変換のための前記形式言語仕様書を作成するため、それが完全で、正確で、曖昧さがないことを保証するために前記形式言語仕様書をヴァリデートするプロセスを含む、
プロセスを実行させるコンピュータ可読媒体。
【請求項２】
前記コンピュータ可読命令が前記コンピュータを制御して、１つ以上のサービス表示パターン、１つ以上の例表示パターン、１つ以上のクラスポピュレーション表示パターン、そして1つ以上のマスター／詳細表示パターンを前記インタフェースメカニズムの一部として定義するユーザ入力を受信させる、請求項１に記載のコンピュータ可読媒体。
【請求項３】
前記コンピュータ可読命令が前記コンピュータを制御して、１つ以上のサービス表示パターン、１つ以上の例表示パターン、１つ以上のクラスポピュレーション表示パターン、そして1つ以上のマスター／詳細表示パターンをどのようにユーザがアクセスするかを階層的に定義するアクション選択表示パターンを定義するユーザ入力を受信させる、請求項２に記載のコンピュータ可読媒体。
【請求項４】
前記コンピュータ可読命令が前記コンピュータを制御して、前記サービス表示パターンと、前記例表示パターンと、前記クラスポピュレーション表示パターンと、そして前記マスター／詳細表示パターンを、以下の限られないが導入パターン、定義済み選択パターン、依存パターン、ポピュレーション選択パターン、表示設定パターン、フィルタパターンおよび他の順序基準パターンを含む他の補助プリミティブを定義することによって定義するユーザ入力を受信させる、請求項３に記載のコンピュータ可読媒体。
【請求項５】
前記コンピュータ可読命令が前記コンピュータを制御して、前記オブジェクトモデル内にあるクラスであり、前記クラスの各々が、イベントまたはトランザクションであるサービスを有し、また、前記クラスのインスタンスを作成して、前記クラスを前記クラスと関連するクラスのインスタンスに対して繋ぐリンクを作成する少なくともクリエーションエベントと、関連するクラスのインスタンスに対する前記クラスの所定のインスタンスのリンクをブレークして、前記クラスの前記所定のインスタンスを破壊するオプショナル破壊イベントと、ヴァリュエーションが、ヴァリアブルアトリビュートとクラスのイベント間の関係を作成し、これで前記イベントの発生がどのように前記ヴァリアブルアトリビュートの値に影響するかを定義するプリミティブであるヴァリュエーションによって前記機能モデルにおいて定義される機能を持つ修正イベントのオプショナル集合とを含むクラスを定義するユーザ入力を受信させる、請求項１に記載のコンピュータ可読媒体。
【請求項６】
前記コンピュータ可読命令が前記コンピュータを制御して、他のサービスのシーケンスおよび／または交番に照らし合わせて、ローカルであったりグローバルであったりするトランザクションタイプのサービスの機能を定義するユーザ入力データであって、前記サービスがイベントおよび／またはトランザクションであり、トランザクションの機能が、どのサービスがトランザクションの範囲に含まれるかを定義するフォーミュラと前記トランザクションを含むあらゆるサービスのあらゆるアーギュメントに割り当てられた値とによって定義される、前記ユーザ入力データを受信させる、請求項１に記載のコンピュータ可読媒体。
【請求項７】
前記コンピュータ可読命令が前記コンピュータを制御して、ローカルトランザクションとグローバルトランザクションの双方のイベントとフォーミュラとのヴァリュエーションの機能を、以下に限られないが、前提条件、インテグリティ制限、有効オブジェクト寿命、エージェント関係、そしてトリガー関係とを含む制約プリミティブを用いて前記機能を制約することによって充実させる二次プリミティブを定義するユーザ入力データを受信させる、請求項１に記載のコンピュータ可読媒体。
【請求項８】
前記コンピュータ可読命令が前記コンピュータを制御して、所定のエージェントクラスによって実行されると、実行するために前記前提条件が関連しているサービスに対して満足しなければならない条件として前記前提条件を定義するユーザ入力データを、前記条件が満足されない場合に表示されることになっているエラーメッセージと共に受信させる、請求項７に記載のコンピュータ可読媒体。
【請求項９】
前記コンピュータ可読命令が前記コンピュータを制御して、サービスによってあるクラスのオブジェクトの状態が所望されない状態に変化することを防止するためにクラスのインスタンスによって所定の時点で満足しなければならない状態として前記インテグリティ制限を定義するユーザ入力データを、前記条件が満足されない場合に表示されるエラーメッセージと共に受信させる、請求項７に記載のコンピュータ可読媒体。
【請求項１０】
前記コンピュータ可読命令が前記コンピュータを制御して、クラスのインスタンスの有効な寿命を、前記ユーザ入力データによって特定されるサービスが前記クラスの所定のインスタンスに対して所定のエージェントによって実行可能であるかどうかを前記所定のインスタンスに対して前に実行されたサービスに基づいて定めることによって定義し、これによってインスタンスに対するサービスの実行を前記インスタンスに対して前に実行されたサービスの履歴に基づいて制約するユーザ入力データを受信させる、請求項７に記載のコンピュータ可読媒体。
【請求項１１】
前記コンピュータ可読命令が前記コンピュータを制御して、一方が「エージェントクラス」の役割をし、他方が「サーバクラス」の役割をする２つのクラスの間の関係を定義して、前記サーバクラスのどのアトリビュートが前記エージェントクラスによって観察可能であるか、また、前記サーバクラスのどのサービスが前記エージェントクラスによって実行可能であるかを指定して、ユーザが、あるサービスがあるユーザのアクセスからブロック可能となるように、システムにログオンするユーザのアクセス可能性を制限し、また、あるクラスまたはクラス全部のあるアトリビュートが指定されたユーザによるクエリーからブロック可能となるようにシステムの状態に対するアクセス可能性を制限する入力データを前記ターゲットコンピュータプログラムの機能に対する前記エージェントクラスのインスタンスとして入力することを可能とする、ユーザ入力データを受信させる、請求項７に記載のコンピュータ可読媒体。
【請求項１２】
前記コンピュータ可読命令が前記コンピュータを制御して、ユーザにとっては不可欠でしかも気付かれないように、ブール条件が成立する場合にはいつでもサービスの実行を指定することによってシステムの機能を充実させるトリガー関係であり、前記条件がオブジェクトの状態に関して指定される前記トリガー関係を定義するユーザ入力データを受信させる、請求項７に記載のコンピュータ可読媒体。
【請求項１３】
データ構造を記憶したコンピュータ可読媒体であって、
コンピュータ上で実行されるトランスレータプロセスによって自動的に書かれることをユーザが希望するコンピュータプログラムの概念モデルを定義する、ユーザによって入力されるデータを記憶するフィールドの収集物を含み、前記概念モデルが、
ユーザ入力によって提示されたオブジェクトの１つ以上のクラスを含むシステムクラスアーキテクチャを定義するオブジェクトモデルデータ構造と、なお各クラスは、前記概念モデル（以降、ターゲットプログラムと呼ぶ）によって定義されたシステムの状態を共同で定義する値を持つアトリビュートを有し、
有効なオブジェクト寿命サイクルを定義し、そしてオブジェクト間通信をユーザ入力によって確立して定義することが可能なダイナミックモデルデータ構造と、
オブジェクト状態のなんらかの変化と関連するセマンティックスをイベント発生の結果として定義する機能モデルデータ構造であり、なおユーザ入力が前記クラスのどのヴァリアブルアトリビュートがそのクラスのどのイベントによって影響されるか、また、どのようにイベントが前記ヴァリアブルアトリビュートの値に影響するかを定義するデータ構造を定義し、前記ユーザ入力はさらに前記イベントが発生すると前記ヴァリアブルアトリビュートの値がそのように変化するかを定義する演算的または論理的評価を定義する、前記機能モデルデータ構造と、
ユーザ入力によって定義される表示モデルデータ構造であり、前記表示モデルデータ構造が、どのようにしてユーザまたは他のプロセスがターゲットプログラムの機能とインタラクションすることが可能であるかを定義する完全ユーザインタフェースを定義し、前記ユーザ入力が、どのサービスがユーザに対して利用可能であるか、また、ターゲットプログラムのターゲットプログラムユーザの状態に関するどの情報がクエリー可能であるかを指定するパターンの集合を定義する、前記表示モデルデータ構造と、
含むコンピュータ可読媒体。
【請求項１４】
前記データ構造が、
各クラスに関するクリエーションエベントであって、前記クリエーションエベントを有するクラスのインスタンスを作成し、そしてクリエーションに基づき要求されるクラスのすべての定数とヴァリアブルのアトリビュートに対する値を提供し、前記クリエーションエベントを有するクラスのインスタンスと関係を有するために要求されるクラスのインスタンスとのすべての関係を確立するクリエーションエベントと、
各クラスに関する破壊イベントであって、前記破壊イベントを所有するクラスの所定のインスタンスと、前記破壊イベントを所有するクラスとの関係を有する他のクラスとの間のすべての関係を解消する破壊イベントと、
各クラスに関する修正イベントであって、前記修正イベントを有するクラスの所定のインスタンスの１つ以上のヴァリアブルアトリビュートの値を修正する修正イベントであり、前記修正の効果が、前記修正イベントを有する前記クラスの前記所定のインスタンスの前記１つ以上のヴァリアブルアトリビュートにリンクされている１つ以上のヴァリュエーションによって定義される修正イベントと、
の３つのタイプのイベントを定義するユーザ入力データを有する、請求項１３に記載のコンピュータ可読媒体。
【請求項１５】
そこにコンピュータ可読命令を記憶したコンピュータ可読媒体であって、
前記コンピュータ可読命令はコンピュータによって実行されると、前記コンピュータに対して、
ユーザ入力を要請しそして受信し、前記ユーザ入力を、システムの状態を共同で定義する状態を持つアトリビュートを有するオブジェクトの１つ以上のクラスを含むオブジェクトモデルと、ダイナミックモデルと、機能モデルと、そして表示モデルとを含む概念モデルのプリミティブを定義するデータ構造に変換するプロセスと、
前記概念モデルの前記データ構造を形式言語のシンタックスとセマンティックスとにしたがってステートメントに自動的に変換するプロセスとを実行させ、
前記形式言語ステートメントの集合は、コンピュータがトランスレータプロセスを実行することによって自動的に書かれることになっているコンピュータプログラム（以降、ターゲットプログラムと呼ぶ）の機能を定義する形式言語仕様書を定義し、
前記ターゲットプログラムは、前記表示モデルを含むデータ構造によって指定されたユーザインタフェースを有する完全コンピュータプログラムであって、追加のコード、コードコンポーネント、コードライブラリまたはいずれかのサードパーティソフトウエアアーチファクトを必要としそして前記概念モデルに完全に機能的に等価であるプロトタイプではなく、
前記データ構造は前記ターゲットプログラムによって実行されるシステムの状態を変化させるサービスによって前記概念モデルの機能を定義し、前記サービスはイベントまたはローカルもしくはグローバルのトランザクションであり、また、イベントは前記オブジェクトモデル内にあるクラスの範囲中で可能な限り最小の実行単位として定義されおり、イベントをより基本的な単位に分解することは不可能であり、また、前記ローカルまたはグローバルなトランザクションは、各々がイベントであったりトランザクションであったりする他のサービスのシーケンスおよび／または交番によって定義された機能を有する単純な構成の実行単位であり、また、ローカルまたはグローバルなトランザクションの機能は、どのサービスがトランザクションの範囲に入るかを表現するフォーミュラを定義するデータ構造と、トランザクションを含むあらゆるサービスのあらゆるアーギュメントに対して割り当てられた値とによって明確に定義され、そして、ローカルトランザクションを定義する前記データ構造は、ローカルトランザクションの影響を、前記トランザクションを有するクラスの主としてインスタンスと、前記トランザクションを有するクラスと関連するクラスの潜在的なインスタンスとの状態に対する効果に制限し、そして、グローバルトランザクションはクラスのただ１つのインスタンスの状態に影響することに限られずに、そのクラスまたはクラスの集合のどのインスタンスまたはインスタンスの集合の状態にも影響を与えることが可能であり、
前記要請されたユーザ入力は前記機能モデルに対するヴァリュエーションを定義するユーザ入力を含み、各ヴァリュエーションはクラスのヴァリアブルアトリビュートとイベントとに関するプリミティブであり、そして前記イベントの発生がどのように前記ヴァリアブルアトリビュートの値に影響するかを定義し、これによって前記イベントの機能を明示的に定義する、
コンピュータ可読媒体。
【請求項１６】
前記コンピュータ可読命令は、コンピュータによって実行されると、前記ヴァリュエーションを定義するユーザ入力の要請によって、各ヴァリアブルに対するさまざまなヴァリュエーションを定義するデータ構造を定義するユーザ入力が入力可能となるように前記コンピュータを制御し、各ヴァリュエーションが前記各ヴァリアブルアトリビュートを同じまたは異なったイベントと関連付ける請求項１５に記載のコンピュータ可読媒体。
【請求項１７】
前記コンピュータ可読命令は、コンピュータによって実行されると、前記コンピュータを制御して、前記各ヴァリアブルアトリビュートに関するさまざまなカテゴリのヴァリュエーションを定義することが可能なヴァリュエーションデータ構造を定義するユーザ入力を要請させる請求項１５に記載のコンピュータ可読媒体。
【請求項１８】
前記コンピュータ可読命令は、コンピュータによって実行されると、前記コンピュータを制御して、各ヴァリアブルアトリビュートが、どのようにしてヴァリアブルアトリビュートの値、したがってオブジェクトの状態が、さまざまなイベントによって変更されるかを定義するヴァリュエーションデータ構造のリストを含むことが可能であるようにヴァリュエーションデータ構造を定義するユーザ入力を要請させる請求項１５に記載のコンピュータ可読媒体。
【請求項１９】
前記コンピュータ可読命令は、コンピュータによって実行されると、前記コンピュータを制御して、各ヴァリュエーションデータ構造が、アトリビュートの値に対してヴァリュエーションの影響を適用し、ヴァリュエーションを実行させるイベントおよびイベントの効果を指定されたアトリビュートに適用するために満足しなければならないオプショナル条件を定義するように、ヴァリュエーションデータ構造を定義するユーザ入力を要請させる請求項１５に記載のコンピュータ可読媒体。
【請求項２０】
コンピュータ可読命令をそこに記憶しているコンピュータ可読媒体であって、
前記コンピュータ可読命令はコンピュータによって実行されると、前記コンピュータに、
自動的に書かれることになっているコンピュータプログラムの概念モデルのオブジェクトモデルの一部となるべきクラスに対する、クリエーションエベント、オプショナル破壊イベント、および修正イベントのオプショナル集合を定義するユーザ入力を受信するプロセスであり、前記ユーザ入力は、前記クリエーションエベントを有するクラスのインスタンスを作成する前記クリエーションエベントを定義し、そして作成されると必要とされるクラスのすべての定数とヴァリアブルのアトリビュートに関する値を提供し、また前記ユーザ入力は前記クリエーションエベントを有するクラスのインスタンスと関連するクラスのインスタンスとのすべての必要とされる関係を確立し、そして前記ユーザ入力は破壊イベントを有するクラスの所定のインスタンスと前記クラスと関係を有するクラスの関連するインスタンスとの間のすべての関係を解消する破壊イベントを定義し、次に前記破壊イベントを有するクラスのインスタンスを破壊し、そして前記ユーザ入力は、その各々が前記修正イベントを有するクラスの所定のインスタンスの１つ以上のヴァリアブルアトリビュートの値を修正するためにユーザ入力を用いる修正イベントの集合を定義し、前記修正の効果はユーザ入力によって定義された１つ以上の論理的または演算的なヴァリュエーションによって定義され、前記修正イベントが発生すると１つ以上のヴァリアブルアトリビュートの値に影響するプロセスと、
前記ユーザ入力を、前記クリエーションエベント、破壊イベントおよび修正イベントを有するクラスを有するオブジェクトモデルを定義するデータ構造に変換するプロセスと、
を実行させるコンピュータ可読媒体。
【請求項２１】
前記記憶されたコンピュータ可読命令はコンピュータに対し、前記ヴァリュエーションをプッシュポップドメイン、ステートインディペンデントドメインまたはディスクリートドメインとして定義するユーザ入力を要請させる命令を実行させる請求項２０に記載のコンピュータ可読媒体。
【請求項２２】
前記記憶されたコンピュータ可読命令はコンピュータに対し、前記クリエーションエベント、破壊イベントおよび修正イベントならびに前記ヴァリュエーションを定義するユーザ入力を要請させる命令を実行させ、いずれかの適当なユーザインタフェースメカニズムによる前記要請は前記クリエーションエベント、破壊イベントおよび修正イベントならびに前記ヴァリュエーションを定義するのに必要な入力をユーザに要請する請求項２０に記載のコンピュータ可読媒体。
【請求項２３】
コンピュータ可読命令をそこに記憶しているコンピュータ可読媒体であって、
前記コンピュータ可読命令はコンピュータによって実行されると前記コンピュータに対して、
イベントが発生してオプショナル条件が満足されるとクラスのヴァリアブルアトリビュートの値に影響するヴァリュエーションを定義するユーザ入力を受信し、前記要請されたユーザ入力がどのクラスのどのヴァリアブルアトリビュートに影響されるかと、そして前記ヴァリアブルアトリビュートの値に影響させるために前記ヴァリュエーションをトリガーするイベントを定義するプロセスと、
前記ユーザ入力を、自動的に書き込まれるべきコンピュータプログラムの概念モデルの一部として前記ヴァリュエーションを定義するデータ構造に変換するプロセスと、
を実行させるコンピュータ可読媒体。
【請求項２４】
記憶されている前記コンピュータ可読命令は、前記コンピュータを制御して、定数、前記イベントの入力アーギュメントの値、ヴァリアブルアトリビュートを有するクラスの他のアトリビュートの値もしくはその原形、またはヴァリアブルアトリビュートを有するクラスに関連するクラスもしくはクラスの原形のアトリビュートの値を用いる、「ヴァリュエーション効果」と呼ばれるフォーミュラを有する前記ヴァリュエーションの効果を定義するユーザ入力を要請させ、
そして前記要請されたユーザ入力を前記ヴァリュエーション効果フォーミュラを定義する１以上のデータ構造に変換する請求項２３に記載のコンピュータ可読媒体。
【請求項２５】
記憶されている前記コンピュータ可読命令は、前記コンピュータを制御して、ヴァリュエーションの前記オプショナル条件を、定数、前記イベントの入力アーギュメントの値、ヴァリアブルアトリビュートを有するクラスの他のアトリビュートの値もしくはその原形または、クラスのアトリビュートの値もしくはヴァリアブルアトリビュートを有するクラスと関連するクラスの原形を用いて形成される「ヴァリュエーション条件」と呼ばれるブールフォーミュラでのヴァリュエーションのための前記オプショナル条件を定義するユーザ入力を要請させ、
前記ユーザ入力を前記ブールヴァリュエーション条件フォーミュラを定義するデータ構造に変換する、請求項２３に記載のコンピュータ可読媒体。
【請求項２６】
記憶されている前記コンピュータ可読命令は、前記コンピュータを制御して、前記ヴァリュエーションがヴァリュエーション効果フォーミュラとヴァリュエーション条件フォーミュラの双方を有するような前記ヴァリュエーションを定義するユーザ入力を要請し、
前記要請されたユーザ入力が、前記ヴァリュエーション効果フォーミュラと前記ヴァリュエーション条件フォーミュラについて、ブール値が真であると評価するヴァリュエーション条件フォーミュラを提供する前記イベントが発生すると、前記ヴァリュエーションによって影響される前記ヴァリアブルアトリビュートが取る値であるとヴァリュエーション効果フォーミュラを定義することによって定義し、
そして、前記コンピュータを制御して、前記ヴァリュエーション効果と前記ヴァリュエーション条件の双方を有する前記ヴァリュエーションを定義する１つ以上のデータ構造を形成するために前記要請されたユーザ入力を使用する請求項２３に記載のコンピュータ可読媒体。
【請求項２７】
記憶されている前記コンピュータ可読命令は、前記コンピュータを制御して、前記ヴァリュエーションがヴァリュエーション効果フォーミュラだけを有し、そして前記ヴァリュエーション効果フォーミュラによって、前記イベントが発生すると無条件に前記ヴァリアブルアトリビュートが取る値を定義するヴァリュエーション条件フォーミュラは定義しないように、前記ヴァリュエーションを定義するユーザ入力を要請させ、
そして、前記コンピュータを制御して、前記要請されたユーザ入力を、概念モデルにおいて前記ヴァリュエーションを実施する１つ以上のデータ構造に変換させる請求項２３に記載のコンピュータ可読媒体。
【請求項２８】
記憶されている前記コンピュータ可読命令は、前記コンピュータを制御して、前記ヴァリュエーションが以下の３つのカテゴリ、すなわち、プッシュポップドメイン、ステートインディペンデントドメインおよびディスクリートドメインの内の１つに属するように前記ヴァリュエーションを定義するユーザ入力を要請させ、
そして、前記コンピュータを制御して、前記ユーザ入力を選択されたカテゴリで前記ヴァリュエーションを実行する１つ以上のデータ構造に変換させる請求項２３に記載のコンピュータ可読媒体。
【請求項２９】
記憶されている前記コンピュータ可読命令は、前記コンピュータを制御して、前記ヴァリュエーションがプッシュポップカテゴリに属するように前記ヴァリュエーションを定義するユーザ入力を要請させ、
前記プッシュポップヴァリュエーションは、前記ヴァリュエーションをトリガーする前記イベントが、前記ヴァリュエーションによって影響されるヴァリアブルアトリビュートの値を所定の分量だけ増加または低減させ、または、前記ヴァリュエーションによって影響されるヴァリアブルアトリビュートの値を特定の値にリセットするヴァリュエーションであり、
そして、前記コンピュータを制御して前記要請されたユーザ入力を前記プッシュポップヴァリュエーションを実行する１つ以上のデータ構造に変換させる請求項２３に記載のコンピュータ可読媒体。
【請求項３０】
記憶されている前記コンピュータ可読命令が、前記コンピュータを制御して、前記ヴァリュエーションがステートインディペンデントヴァリュエーションカテゴリに属するように前記ヴァリュエーションを定義するユーザ入力を要請させ、
前記ステートインディペンデントヴァリュエーションは、そのヴァリュエーション効果フォーミュラが、前記ヴァリュエーションをトリガーするイベントが発生するときに前記ヴァリアブルアトリビュートが有する値とは無関係に、新しい値を前記ヴァリュエーションによって影響されたヴァリアブルアトリビュートに提供するようなヴァリュエーションであり、
そして、前記コンピュータ可読命令は前記コンピュータを制御して、前記要請されたユーザ入力を、前記ステートインディペンデントヴァリュエーションを実行する１つ以上のデータ構造に変換させる請求項２３に記載のコンピュータ可読媒体。
【請求項３１】
記憶されている前記コンピュータ可読命令が、前記コンピュータを制御して、前記ヴァリュエーションがディスクリートドメインカテゴリに属するような前記ヴァリュエーションを定義するユーザ入力を要請させ、
前記ディスクリートドメインヴァリュエーションは、そのヴァリュエーション効果フォーミュラが、前記ヴァリュエーションによって影響されたヴァリアブルアトリビュートの新しい値を、前記ヴァリアブルアトリビュートの現在の値に基づいて提供するようなヴァリュエーションであり、
そして、前記コンピュータ可読命令は、前記コンピュータを制御して、前記要請されたユーザ入力を、前記ディスクリートドメインヴァリュエーションを実施する１つ以上のデータ構造に変換させる請求項２３に記載のコンピュータ可読媒体。
【請求項３２】
記憶されている前記コンピュータ可読命令が、前記コンピュータを制御して、前記ヴァリュエーションの内の１つだけがヴァリュエーション効果フォーミュラを有するがヴァリュエーション条件フォーミュラを有せず、また、残余のヴァリュエーションが強制的にヴァリュエーション効果フォーミュラとヴァリュエーション条件フォーミュラの双方を有する場合にだけ、同じイベントが発生すると同じヴァリアブルアトリビュートの値に各々が影響する１つ以上の前記ヴァリュエーションを前記ヴァリュエーションのカテゴリとは無関係に定義するユーザ入力を要請させ、
そして、前記コンピュータ可読命令が、前記要請されたユーザ入力データを、前記１つ以上のヴァリュエーションを実行する１つ以上のデータ構造に変換させる請求項２３に記載のコンピュータ可読媒体。
【請求項３３】
そこに記録されたコンピュータ可読命令を有するコンピュータ可読媒体であって、
前記コンピュータ可読命令は、コンピュータによって実行されると、前記コンピュータを制御してトランザクションを定義するユーザ入力を要請させ、
前記トランザクションは、共に単純な構成の実行単位を含むイベントまたはトランザクションの形式によりサービスを指定するフォーミュラにより表現される単純な構成の実効単位であり、
前記コンピュータ可読命令は、前記コンピュータを制御して、前記ユーザ入力を前記トランザクションを実行する１つ以上のデータ構造に変換させる
コンピュータ可読媒体。
【請求項３４】
前記コンピュータ可読命令は前記コンピュータを制御して、前記トランザクションをサービスのシーケンスおよび／または交番により定義するユーザ入力を要請させ、
そして、前記コンピュータ可読命令は、前記コンピュータを制御して、前記ユーザ入力を前記トランザクションを実行する１つ以上のデータ構造に変換する請求項３３に記載のコンピュータ可読媒体。
【請求項３５】
前記コンピュータ可読命令は前記コンピュータを制御して、前記トランザクションを、前記トランザクションを含むあらゆるサービスの実行が、前記トランザクションの実行が成功するためにはシステムの状態に変化を作り出すのに成功しなければならず、そして、システムの状態に変化を作り出す際に前記トランザクションを含むいずれかのサービスの実行が失敗すると、前記トランザクションの実行が失敗することを意味し、このため、システムの状態が優先的に変更されて、前記トランザクションを含むサービスの内のどれかによってシステム状態に対してなされた変更が逆転されるということを意味する「オールオアナッシング」実行方法により定義するユーザ入力を要請させ、
そして前記コンピュータ可読命令は前記コンピュータを制御して、前記ユーザ入力を前記「オールオアナッシング」トランザクションを実行する１つ以上のデータ構造に変換させる請求項３３に記載のコンピュータ可読媒体。
【請求項３６】
前記コンピュータ可読命令は、前記コンピュータを制御して、前記トランザクションをローカルトランザクションとして定義するユーザ入力を要請させ、
前記ローカルトランザクションを含む前記１つ以上のサービスは、前記トランザクションフォーミュラを有する前記トランザクションを有するクラスまたはクラスの原形によって所有されるイベントまたはトランザクションであり、前記トランザクションを含む１つ以上のサービスは、前記トランザクションフォーミュラを有するトランザクションを所有するクラスと関連するクラスのよって所有されており、
そして、前記コンピュータ可読命令は前記コンピュータを制御して、前記ユーザ入力を、前記トランザクションを実行する１つ以上のデータ構造に変換させる、請求項３３に記載のコンピュータ可読媒体。
【請求項３７】
前記コンピュータ可読命令が前記コンピュータを制御して、前記トランザクションをグローバルトランザクションとして定義するユーザ入力を要請させ、
前記グローバルトランザクションを含む前記１つ以上のサービスが、概念モデルおよび／またはグローバルトランザクションにおけるクラスのいずれかによって所有されるイベントおよび／またはローカルトランザクションである、請求項３３に記載のコンピュータ可読媒体。
【請求項３８】
前記コンピュータ可読命令は前記コンピュータを制御して、前記トランザクションをローカルトランザクションとして定義するユーザ入力を要請させ、
前記ローカルトランザクションを含む前記１つ以上のサービスはアーギュメントを有し、その値は、定数、前記トランザクションの入力アーギュメントの値、前記トランザクションまたはその原形を有するクラスのアトリビュートの値または前記トランザクションを有するクラスと関連するクラスまたはクラスの原形のアトリビュートの値によって形成されたフォーミュラを含むことによって前記トランザクションフォーミュラ内で決定され、
そして、前記コンピュータ可読命令は前記コンピュータを制御して、前記ユーザ入力を、前記ローカルトランザクションを実施する１つ以上のデータ構造に変換させる、請求項３３に記載のコンピュータ可読媒体。
【請求項３９】
前記コンピュータ可読命令は前記コンピュータを制御して、前記トランザクションをグローバルトランザクションとして定義するユーザ入力を要請させ、
前記グローバルトランザクションを含む前記１つ以上のサービスはアーギュメントを有し、その値は、定数、前記トランザクションの入力アーギュメントの値、または前記概念モデル中のいずれかのクラスのアトリビュートの値によって形成されたフォーミュラを含むことによって前記トランザクションフォーミュラ内で決定され、
そして、前記コンピュータ可読命令は前記コンピュータを制御して、前記ユーザ入力を、前記グローバルトランザクションを実施する１つ以上のデータ構造に変換させる、請求項３３に記載のコンピュータ可読媒体。
【請求項４０】
以下のステップによりコンピュータを使用するＣＡＳＥツールプロセスであって、
Ａ）前記コンピュータのデザインツールの表示部にメニュー選択、ツールバーアイコン、ダイアグラムおよび／またはダイアログボックスの形式で表示するためにＣＡＳＥツールコンピュータプログラムを実行するコンピュータを制御し、これはモデル化されるターゲットコンピュータプログラムのデザイナーが前記ＣＡＳＥツールプログラムを実行する前記コンピュータを使用して、前記ターゲットコンピュータプログラムの機能およびユーザーインターフェースを定義する概念モデルのプリミティブに関して前記ターゲットコンピュータプログラムの要求を定義するためのユーザ入力データを入力するために使用することができ、なお、前記概念モデルはオブジェクトモデルと、ダイナミックモデルと、機能モデルと、そして表示モデルを含み、
Ｂ）共に形式言語仕様書を含む形式言語シンタックスにおけるステートメントの形式の前記概念モデルを実行するデータ構造に前記ユーザ入力を変換するために、前記ＣＡＳＥツールコンピュータプログラムを実行する前記コンピュータを制御し、ここで形式言語は各形式言語ステートメントが完全且つ正確であるようにその中の全ての有効なステートメントのシンタックスおよびセマンティックスを正確に制御する文法を有し、ここで形式仕様書言語における全てのステートメントは存在しなければならず且つ正確であると思われる有効な値をもたなければならないという特性の集合を有し、そしてここで形式言語仕様書内のステートメントはそのタイプのステートメントに関するシンタックスおよびセマンティックスのルールによって要求されるステートメントに欠落している情報が無い場合に完全であり、そして前記形式言語内のステートメントのいくつかの特性はフォーミュラのタイプが異なり、それらの各々は所定のシンタックスに従わなければならず、そして前記フォーミュラが完全且つ正確であることを確実にするために前記フォーミュラをヴァリデートするためのプロセスと文法におけるルールの集合を持たなければならず、前記形式言語仕様書はユーザインタフェースを有する完全なターゲットコンピュータプログラムを定義しそして前記概念モデルと機能的に等価であるようにするための追加のコード、コードコンポーネント、コードライブラリまたは他のなんらかのサードパーティソフトウエアアーチファクトを必要とせず、
そして前記データ構造と形式言語仕様書は、システムの状態がどのようにしてサービスによって変更されるかという点に関して概念モデルの機能を定義し、前記サービスはイベントまたはトランザクションであり、トランザクションは他のサービスを含み、そしてローカルカテゴリまたはグローバルカテゴリのどちらかに属しており、
そして前記データ構造と形式言語仕様書は、ユーザまたは他のプロセスがどのようにしてターゲットコンピュータプログラムの機能とインタラクション可能であるかを定義するユーザインタフェースメカニズムの形式により、それが前記形式言語仕様書のトランスレーションにより完全なコンピュータプログラムに自動的に書き込まれた後、前記表示モデルを定義する、
方法。
【請求項４１】
ステップＡは前記ターゲットコンピュータプログラムの製作者がインタラクション手段を特定するパターンの集合を特定するデータを入力することにより前記表示モデルを定義することを可能にする、メニュー選択、ツールバーアイコン、ダイアグラムおよび／またはダイアログボックスを表示することを含み、それを通してサービスが前記ターゲットプログラムのユーザに対して利用可能なものとなり、そしてそれを通して前記ターゲットプログラムの状態についての情報を前記ターゲットプログラムのユーザがクエリーすることを可能とする請求項４０に記載の方法。
【請求項４２】
ステップＡは、サービス表示パターン、例示表示パターン、クラスポピュレーション表示パターン、マスター／詳細表示パターンおよび／またはアクション選択表示パターンに関する所望の集合により、前記ターゲットコンピュータプログラムの製作者が前記ターゲットコンピュータプログラムのユーザーのためのユーザーインターフェイスの要求を定義するユーザー入力データを入力するために使用することのできるメニュー選択、ツールバーアイコン、ダイアグラムおよび／またはダイアログボックスを表示することにより実行される請求項４０に記載の方法。
【請求項４３】
コンピュータの使用を含む方法であって、
Ａ)前記コンピュータのデザインツールの表示部にメニュー選択、ツールバーアイコン、ダイアグラムおよび／またはダイアログボックスの形式で表示するためにＣＡＳＥツールコンピュータプログラムを実行するコンピュータを制御し、これはモデル化されるターゲットコンピュータプログラムのデザイナーが前記ＣＡＳＥツールプログラムを実行する前記コンピュータを使用して、前記ターゲットコンピュータプログラムの概念モデルの一部である表示モデルのプリミティブにより前記ターゲットコンピュータプログラムのユーザーインターフェースを定義するためのユーザ入力データを入力するために使用することができ、
なお、前記表示モデルは、ターゲットプログラムのユーザがクエリーすることが可能なターゲットコンピュータプログラムの状態に関する情報にクエリーするためにターゲットコンピュータプログラムそしてインタラクションシナリオのユーザに対して利用可能なサービスに関するインタラクションシナリオを指定することによって、どのようにしてユーザが前記ターゲットコンピュータプログラムとインタラクション可能であるかをターゲットコンピュータプログラム内で定義するために使用される既知のユーザインターフェイスタイプのパターンの集合によってユーザインタフェースを定義し、
Ｂ）前記ユーザ入力を前記表示モデルの前記パターンを定義する１つ以上のデータ構造に変換するために前記ＣＡＳＥツールコンピュータプログラムを使用して前記コンピュータを制御するステップと、
を含む方法。
【請求項４４】
前記表示モデルを定義するデータを入力するために起動されることができる前記コンピュータデザインツールの表示部に表示するためにＣＡＳＥツールコンピュータプログラムを実行するコンピュータを制御する前記ステップは、サービス表示パターン、例表示パターン、クラスポピュレーション表示パターン、マスター／詳細表示パターンおよびアクション選択表示パターンの集合を選択するデータを入力するために起動されることができるデザインツールを表示することによって実行される請求項４３に記載の方法。
【請求項４５】
前記表示モデルを定義するデータを入力するために起動されることができる前記コンピュータデザインツールの表示部に表示するためにＣＡＳＥツールコンピュータプログラムを実行するコンピュータを制御する前記ステップは、どのサービス表示パターン、例表示パターン、クラスポピュレーション表示パターンおよびマスター／詳細表示パターンが、それとインタラクションするために前記ターゲットコンピュータプログラムのユーザのための手段として、システムによって提供されるかを階層的な方法で特定するアクション選択表示パターンを選択するデータを入力するために起動されることのできるデザインツールを表示することによって実行される請求項４４に記載の方法。
【請求項４６】
コンピュータを用いるステップを含む方法であって、
前記コンピュータのデザインツールの表示部にメニュー選択、ツールバーアイコン、ダイアグラムおよび／またはダイアログボックスの形式で表示するためにＣＡＳＥツールコンピュータプログラムを実行するコンピュータを制御し、これはモデル化されるターゲットコンピュータプログラムのデザイナーが前記ＣＡＳＥツールプログラムを実行する前記コンピュータを使用して、概念モデルによって定義されるターゲットコンピュータプログラムのためのユーザインタフェースを定義する表示モデルを定義するデータを入力するために使用することができ、なお、前記デザインツールを使用して入力された前記データは、システムのユーザがどのようにして前記システムのサービスを呼び出すことが可能となるかを特定することによってシステムのあらゆるサービスのための少なくともサービス表示パターンを定義し、そして、
前記デザインツールを使用して入力された前記データがさらに、
前記サービス表示パターンが割り当てられているサービスのアーギュメントがヴァリュエートされたあらゆる入力データに割り当てられたオプショナルの導入パターンと、
前記サービス表示パターンが割り当てられているサービスのアーギュメントがヴァリュエートされたあらゆる入力データに割り当てられたオプショナルの定義済みの選択パターンと、
前記サービス表示パターンが割り当てられているサービスのアーギュメントがヴァリュエートされたあらゆる入力オブジェクトに割り当てられたオプショナルのポピュレーション選択パターンと、
前記サービス提示が割り当てられているサービスのあらゆる入力アーギュメントに割り当てられたオプショナルの依存パターンと、
を定義し、
前記デザインツールを使用して入力された前記データを、前記サービス表示パターンを実行する１つ以上のデータ構造に変換するステップと、
を含む方法。
【請求項４７】
コンピュータの使用を含む方法であって、
前記コンピュータのデザインツールの表示部にメニュー選択、ツールバーアイコン、ダイアグラムおよび／またはダイアログボックスの形式で表示するためにＣＡＳＥツールコンピュータプログラムを実行するコンピュータを制御し、これはモデル化されるターゲットコンピュータプログラムのデザイナーが前記ＣＡＳＥツールプログラムを実行する前記コンピュータを使用して、概念モデルによって定義されるターゲットコンピュータプログラムに関するユーザインタフェースを定義する表示モデルを定義するデータを入力するために使用することができ、なお、前記要請されたユーザ入力は、前記ターゲットコンピュータプログラムのユーザがどのようにして前記ターゲットコンピュータプログラムのクラスの所定のインスタンスの状態をクエリーすることが可能となるかを特定するシステムのあらゆるクラスに関する少なくとも例表示パターンを定義し、また、前記デザインツールを使用して入力された前記データが、
表示設定パターン、
前記例表示パターンを有するクラスの利用可能なサービスの集合、
前記例表示パターンを有するクラスに関連するクラスによって所有された表示パターンに対するナビゲーションの集合、
を定義するデータをさらに含み、そして
前記デザインツールを使用して入力された前記データを、前記例表示パターンを実行する１つ以上のデータ構造に変換するステップと、
を含む方法。
【請求項４８】
コンピュータの使用を含む方法であって、
前記コンピュータのデザインツールの表示部にメニュー選択、ツールバーアイコン、ダイアグラムおよび／またはダイアログボックスの形式で表示するためにＣＡＳＥツールコンピュータプログラムを実行するコンピュータを制御し、これはモデル化されるターゲットコンピュータプログラムのデザイナーが前記ＣＡＳＥツールプログラムを実行する前記コンピュータを使用して、概念モデルによって定義されるターゲットコンピュータプログラムに関するユーザインタフェースを定義する表示モデルを定義するデータを入力するために使用することができ、なお、前記デザインツールを使用して入力された前記データは、前記ターゲットコンピュータプログラムのユーザがどのようにして前記ターゲットコンピュータプログラムの所定のクラスのポピュレーションにクエリーすることが可能となるかを特定するシステムのあらゆるクラスに関する少なくともクラスポピュレーション表示パターンを定義し、また、前記要請されたユーザ入力が、
表示設定パターン、
オプショナルのフィルタパターン、
オプショナルのオーダー基準パターン、
前記クラスポピュレーション表示パターンを有するクラスの利用可能サービスの集合、
前記クラスポピュレーション表示パターンを有するクラスに関連するクラスによって所有される表示パターンに対するナビゲーションの集合と、
を定義するユーザ入力をさらに含み、そして
前記デザインツールを使用して入力された前記データを、前記クラスポピュレーション表示パターンを実行する１つ以上のデータ構造に変換するステップと、
を実行するためにコンピュータを用いるステップを含む方法。
【請求項４９】
コンピュータを使用する方法であって、
前記コンピュータのデザインツールの表示部にメニュー選択、ツールバーアイコン、ダイアグラムおよび／またはダイアログボックスの形式で表示するためにＣＡＳＥツールコンピュータプログラムを実行するコンピュータを制御し、これはモデル化されるターゲットコンピュータプログラムのデザイナーが前記ＣＡＳＥツールプログラムを実行する前記コンピュータを使用して、概念モデルによって定義されるターゲットコンピュータプログラムに関するユーザインタフェースを定義する表示モデルを定義するデータを入力するために使用することができ、
前記デザインツールを使用して入力された前記データは、どのようにして前記ターゲットコンピュータプログラムのユーザは、前記マスター／詳細表示パターンを有する前記ターゲットコンピュータプログラムのクラスの所定のインスタンス（または、前記マスター／詳細表示パターンを所有する前記ターゲットコンピュータプログラムのクラスのポピュレーション）の状態、および前記マスター／詳細表示パターンを有する前記ターゲットコンピュータプログラムのクラスのインスタンスと関連付けられるクラスのインスタンスのポピュレーションの状態とをクエリーすることが可能となるかを特定するシステムのあらゆるクラスに関する少なくともマスター／詳細表示パターンをユーザユニットをさらに含む前記要請されたユーザ入力によって定義し、
前記ユーザユニットは、
「マスター表示パターン」として参照される、前記マスター／詳細表示パターンを有するクラスに関して定義された例表示パターンまたはクラスポピュレーション表示パターンと、そして
「詳細表示パターン」として参照されるマスター／詳細表示パターンを有するクラスと関連するクラスに関して定義された例表示パターン、クラスポピュレーション表示パターンまたはマスター／詳細表示パターンの形式である表示パターンの集合と、
を定義し、
前記デザインツールを使用して入力された前記データを、前記表示パターンを実行する１つ以上のデータ構造に変換するステップと、
を含むステップを実行するためにコンピュータを使用する方法。
【請求項５０】
概念モデルでモデル化されたターゲットコンピュータプログラムの機能およびユーザーインターフェイスを定義する形式言語仕様書を、前記ターゲットコンピュータプログラムを実行するワーキングコンピュータコードに自動的にトランスレートする方法であって、この方法は、
Ａ）形式言語仕様書をヴァリデートするために形式言語仕様書が書かれる形式言語のシンタックスおよびセマンティックスのルールを使用するためのトランスレータプログラムを使用してコンピュータを制御し、前記形式言語仕様書は前記トランスレータプログラムを実行する前記コンピュータによりワーキングコンピュータコードに自動的に変換されるターゲットコンピュータプログラムの機能およびユーザインターフェイスを定義する概念モデルを形式言語ステートメントで表現し、前記ヴァリデーションは前記形式言語仕様書における前記ステートメントの各々が正確であることを確実にし、前記形式言語仕様書における各ステートメント内の全てのエレメントは存在しなければならず且つ有効な値を有さなければならないという双方の特性の集合を有し、そして前記形式言語仕様書における各ステートメントが完全であることを確実にするために、前記概念モデルの各異なるタイプのフォーミュラがそのタイプのフォーミュラに関する形式言語文法により正確に書かれており、そしてヴァリデートされた形式言語仕様書を発生しそして前記コンピュータの記憶装置にセーブするようにそれをヴァリデートするプロセスを有し、ここで形式言語は各形式言語ステートメントが完全且つ正確でなければならないように全ての有効なステートメントのシンタックスおよびセマンティックスを正確に制御する文法を有し、ここで形式仕様書言語における全てのステートメントは存在しなければならず且つ正確であると思われる有効な値を有さなければならないという双方の特性の集合を有し、そしてここで形式言語仕様書におけるステートメントはそのタイプのステートメントに関するシンタックスおよびセマンティックスのルールによって要求されるステートメントに欠落している情報がない場合に完全であり、ここで前記形式言語におけるステートメントのいくつかの特性はフォーミュラが異なるタイプであり、それらの各々は所定のシンタックスに従わなければならず、そして前記フォーミュラが完全且つ正確であることを確実にするために前記フォーミュラをヴァリデートするためのプロセスおよび文法におけるルールの集合を有し
Ｂ)前記トランスレーションプログラムによって制御されるコンピュータを使用して、前記ヴァリデートされた形式言語仕様書を、少なくとも１つのエージェント関係においてエージェントとして働く前記ヴァリデートされた形式言語仕様書のクラスのインスタンスとして前記ユーザを認証してヴァリデートするために、少なくとも認識データを入力することによって前記ターゲットコンピュータプログラムを実行するコンピュータのユーザがログインしそして前記認識データを用いることを許可するためのユーザインタフェースアクセスメカニズムを提供するためにコンピュータを制御する機能を有するコンピュータが実行可能な前記ターゲットコンピュータプログラムのコードにトランスレートするステップと、
Ｃ）前記トランスレーションプログラムによって制御されるコンピュータを使用して、前記ヴァリデートされた形式言語仕様書を、コンピュータを制御する機能を有するコンピュータ実行可能コードにトランスレートするステップと、なお前記システムは前記ターゲットコンピュータプログラムを実行するコンピュータによって確立され、前記形式言語仕様書は、１)各々がオブジェクトを含むクラス集合および各前記オブジェクトに関するアトリビュートの集合を定義し、これらのいくつかは固定されることができ、そしてこれらのいくつかは変動可能でありそしてヴァリュエーションフォミュラによって定義され、そして、２)各前記オブジェクトに関するサービスの集合を定義し、前記システムビューは前記オブジェクトおよびアトリビュートの集合を定義し、前記ターゲットコンピュータプログラムを実行する前記コンピュータのユーザがクエリー可能であり、そして前記ターゲットコンピュータプログラムを実行する前記コンピュータの前記ユーザが実行可能なサービスの集合を定義し、なお、前記システムビューのコンテンツは前記アプリケーションにアクセスする前記ユーザのアイデンティティに依存し、
Ｄ）前記トランスレーションプログラムによって制御されるコンピュータを使用して、前記ヴァリデートされた形式言語仕様書を、前記ターゲットコンピュータプログラムによって管理される情報に関してクエリーを形成することにより前記ターゲットコンピュータプログラムの機能とインタラクションしそして実行するために、そしてコンピュータのユーザが前記ターゲットコンピュータプログラムを実行することを可能とするため前記ターゲットコンピュータプログラムによって管理される前記情報の状態を修正するサービスを実行するユーザインタフェースインタラクションメカニズムを提供するために、コンピュータを制御する機能を有する、前記ターゲットコンピュータプログラムのコンピュータ実行可能コードにトランスレートするステップとを含み、
なお、前記形式言語仕様書はイベント、ローカルトランザクションおよびグローバルトランザクションについて前記オブジェクトのサービスの集合を定義する
方法。
【請求項５１】
少なくとも、全体としてあらゆるイベントの機能を定義する前記クラスの少なくともイベントに関連する前記ヴァリデートされた形式言語仕様書中の各クラスの各ヴァリアブルアトリビュートに関する、ヴァリュエーションフォーミュラと、
サービスの組成を単純な構成の実行単位に定義し、それによってあらゆるローカルトランザクションとグローバルトランザクションの機能を定義する、トランザクションフォーミュラと、
イベントまたはローカルトランザクションが発生すると、前記形式言語仕様書中の各クラスのオブジェクトの有効寿命を制御するための状態遷移と、
サービスの実行のためのオプショナルな前提条件と、そして
前記アプリケーションによって管理される情報が、首尾一貫しないまたは無効な状態のまま残されることから、サービスの実行を予防するオプショナルなインテグリティ制限との観点から、
前記ステップＤが、前記形式言語仕様書を、前記クエリーを表すフィルタパターンのフィルタフォーミュラのように前記クエリーの機能を実行し、そして前記ヴァリデートされた形式言語仕様書中に定義されている前記サービスの機能を実行するため、コンピュータを制御する機能を有する前記ターゲットコンピュータプログラムのコンピュータコードにトランスレートするステップを含む、
請求項５０に記載の方法。
【請求項５２】
前記ステップＢが、前記ターゲットコンピュータプログラムが作成された目的の前記システムビューのいずれかのクラスに属するユーザだけが、前記ターゲットコンピュータプログラムに接続またはログオンすることが可能となるようにアクセスをブロックするユーザインタフェースアクセスメカニズムを提供するために、コンピュータを制御する機能を有するコンピュータ可読コードを作成し、
前記制御は、前記所望のコンピュータプログラムにログオンすることを希望するユーザが、前記ユーザがインスタンスであるようなクラスを識別する情報を示し、そしてユーザを前記クラスのインスタンスとして識別することによって前記ユーザを識別し、またさらに、前記ユーザを認証するためにユーザのパスワードとして用いられる情報を示すように要請することによって実行される、請求項５０に記載の方法。
【請求項５３】
前記ステップＣが、前記システムビューがアプリケーションを生成した目的である前記ビューと関連するアクション選択表示パターンに含まれるユーザインタラクションメカニズムを含むようにシステムの前記ビューを提供させるためにコンピュータを制御する機能を有する前記ターゲットコンピュータプログラムのコンピュータ実行可能コードを作成する請求項５０に記載の方法。
【請求項５４】
前記ステップＣが、各サーバクラスのどのサービスが前記ユーザによる実行に対して利用可能であるか、そして各サーバクラスのどのアトリビュートに前記ユーザがクエリーすることが可能であるかを決定する、サーバの役割を果たすクラスと共にエージェントの役割を果たす前記ユーザが属するクラスと関連するデータ構造によって確立された特権に従い、ログオンしたユーザがインタラクションすることを許可されたユーザに対するユーザインタフェースインタラクションメカニズムを制限をさせるためにコンピュータを制御する機能を有する前記ターゲットコンピュータプログラムのコンピュータ実行可能コードを作成する請求項５３に記載の方法。
【請求項５５】
前記ステップＤが、前記ヴァリデートされた形式言語仕様書を、ログオンしたユーザがクエリーを実行しおよび／またはユーザインタフェースインタラクションシナリオを実行するサービスを呼び出すことにより、前記ターゲットコンピュータプログラムの機能とインタラクションしたりこれにアクセスしたりすることを可能とするユーザインタフェースインタラクションメカニズムを提供させるためにコンピュータを制御する機能を有する前記ターゲットコンピュータプログラムのコンピュータ実行可能コードにトランスレートするステップを含む請求項５０に記載の方法。
【請求項５６】
前記ステップＤが、前記形式言語仕様書を、ログインしたユーザが、イベント、ローカルトランザクションおよび／またはグローバルトランザクションを含むサービスのグループから選択された選択済みサービスだけを実行することによって、前記ユーザのアイデンティティに基づいて前記ターゲットコンピュータプログラムの機能とインタラクションしたりこれにアクセスしたりすることを可能とするユーザインタフェースインタラクションメカニズムを提供させためにコンピュータを制御する機能を有する前記ターゲットコンピュータプログラムのコンピュータ実行可能コードにトランスレートするステップを含む、請求項５５に記載の方法。
【請求項５７】
イベントに関連する機能とインタラクションしたりこれを実行したりすることをログオンしたユーザに対して可能とするようにコンピュータを制御する前記ターゲットコンピュータプログラムのコンピュータ実行可能コードを生成するために、前記形式言語仕様書をトランスレートするステップＤが、前記イベントに関連するメッセージを構築して前記イベントを実行するメカニズムを提供させるようにコンピュータを制御するコードを生成するステップを含む請求項５６に記載の方法。
【請求項５８】
前記ステップＤが、前記ヴァリデートされた形式言語仕様書をトランスレートして、前記イベントに関連する前記メッセージを構築するメカニズムを提供するようにコンピュータを制御する前記ターゲットコンピュータプログラムのコンピュータ実行可能コードを生成するステップを含み、そして、
前記イベントが実行されると対象であるオブジェクトを特定するメカニズムを提供するステップであり、前記イベントがクリエーションエベントである場合は、このステップは省略される、ステップと、
前記イベントのあらゆるアーギュメントに対して値を与えるメカニズムを提供するステップであり、前記メカニズムが、値を必要とするアーギュメントは値が提供され、そして値が提供されるアーギュメントはいずれも有効な値を受信するようにさらに制御する、ステップと、
を実行するようにコンピュータを制御するコードを発生するステップを含む請求項５７に記載の方法。
【請求項５９】
前記ステップＤが、イベントであるサービスを実行するメカニズムを提供するようにコンピュータを制御する機能を有する前記ターゲットコンピュータプログラムのコンピュータ実行可能コードを生成するために、前記ヴァリデートされた形式言語仕様書をトランスレートするステップを含み、そして、
トランスレータプログラムを実行するコンピュータを使用して前記ヴァリデートされた形式言語仕様書をトランスレートして、クリエーションエベントの場合を除いて、前記イベントが実行される対象である前記オブジェクトが存在することまたはクリエーションエベントの場合に作成されるオブジェクトが存在しないことを検証するメカニズムを提供するようにコンピュータを制御するコンピュータプログラムコードを提供するステップと、
前記ヴァリデートされた形式言語仕様書をトランスレートして、クリエーションエベントの場合を除いて、前記イベントが実行される対象である前記オブジェクトの状態を、前記オブジェクトの前記状態がセーブされているメモリーであれ、データベースであれ、レポジトリであれ、その他いずれかの持続手段（以降、単に「メモリー」と呼ぶ）であれ、それから回復させるメカニズムを提供するようにコンピュータを制御するコードを提供するステップと、
トランスレータプログラムを実行するコンピュータを使用して、前記ヴァリデートされた形式言語仕様書をトランスレートして、実行中の前記イベントの名前が付けられた有効な状態遷移が、しかも、前記所望のコンピュータプログラムにログオンしたユーザが属するエージェントクラスに対して存在することを、前記イベントを所有するクラスの状態遷移ダイアグラムにしたがって検証するメカニズムを提供するようにコンピュータを制御するコードを提供するステップであり、この場合、前記メカニズムは、イベントが実行されたオブジェクトの状態を前記状態遷移ダイアグラムに従って更新し、また、有効な状態遷移が存在しなければ、前記メカニズムはエラーメッセージを発して、イベントの実行を停止させ、前記イベントが実行されたオブジェクトの状態に対してなされたすべての変更を元に戻させる、前記ステップと、
トランスレータプログラムを実行するコンピュータを使用して前記ヴァリデートされた形式言語仕様書をトランスレートして、実行中の前記イベントと、コンピュータアプリケーションにログオンしたユーザが属する前記エージェントクラスとに対して定義されたあらゆる前提条件が満足されたことを検証するメカニズムを提供するようにコンピュータを制御するコードを提供するステップであり、前記前提条件のいずれかが満足されない場合、前記メカニズムが、成立しない前記前提条件に対して事前定義されているエラーメッセージ付きのエラーを発して、イベントの実行を停止させ、前記イベントが実行されたオブジェクトの状態に対してなされたすべての変更を元に戻させる、前記ステップと、
クリエーションエベントや破壊イベントの場合を除いて、トランスレータプログラムを実行するコンピュータを使用して前記ヴァリデートされた形式言語仕様書をトランスレートして、前記機能モデル中のヴァリュエーションフォーミュラが定義されている前記イベントを所有する前記クラスのヴァリアブルアトリビュートに対して値の変更をもたらし、これで、前記ヴァリュエーションが前記ヴァリアブルアトリビュートを実行中のイベントと関連付けるようにするメカニズムであり、また、前記メカニズムが、ヴァリュエーション条件フォーミュラが真であると評価するようなヴァリュエーションのヴァリュエーションフォーミュラによって必要とされる変更、もしそれがあれば、だけを、または、ヴァリュエーション条件フォーミュラを有しないヴァリュエーションのヴァリュエーションフォーミュラによって必要とされる変更をヴァリアブルアトリビュートに対して適用する、前記メカニズムを提供するようにコンピュータを制御するコードを提供するステップと、
クリエーションエベントの場合に、トランスレータプログラムを実行するコンピュータを使用して前記ヴァリデートされた形式言語仕様書をトランスレートして、前記クリエーションエベントが実行されたオブジェクトのあらゆる定数またはヴァリアブルアトリビュートに対して値を割り当て、また、前記クリエーションエベントが実行された前記オブジェクトと前記クリエーションエベントを所有するクラスと関連するクラスのオブジェクトとの間の関係を確立するメカニズムを提供するようにコンピュータを制御する機能を有するコードを提供するステップと、
破壊イベントの場合に、トランスレータプログラムを実行するコンピュータを使用して前記ヴァリデートされた形式言語仕様書をトランスレートして、前記破壊イベントが実行されたオブジェクトと前記オブジェクトが関連するオブジェクトとの関係を削除するメカニズムを提供するようにコンピュータを制御する機能を有するコードを提供するステップと、
破壊イベントの場合を除いて、トランスレータプログラムを実行するコンピュータを使用して前記ヴァリデートされた形式言語仕様書をトランスレートして、前記イベントを所有するクラス中で定義されているあらゆるインテグリティ制限、が、前記イベントによって変更された状態を持つオブジェクトに対して満足されたことをチェックするメカニズムを提供するようにコンピュータを制御する機能を有するコードを提供するステップであり、前記インテグリティ制限、のいずれかが満足されない場合、前記メカニズムが、前記成立しないインテグリティ制限、に対して事前定義されたエラーメッセージ付きのエラーを発して、イベントの実行を停止させて、イベントが実行されたオブジェクトの状態に対してなされたすべての変更を元に戻させる、前記ステップと、
破壊イベントの場合を除いて、トランスレータプログラムを実行するコンピュータを使用して前記ヴァリデートされた形式言語仕様書をトランスレートして、イベントが実行された前記オブジェクトに対してなされた変更をメモリーにセーブするメカニズムを提供するようにコンピュータを制御する機能を有するコードを提供するステップと、
破壊イベントの場合、前記ヴァリデートされた形式言語仕様書をトランスレートして、前記オブジェクトがセーブされたメモリーから、前記破壊イベントが実行されたオブジェクトを削除するメカニズムを提供するようにコンピュータを制御する機能を有するコードを提供するステップと、
破壊イベントの場合を除いて、トランスレータプログラムを実行するコンピュータを使用して前記ヴァリデートされた形式言語仕様書をトランスレートして、前記イベントが実行された前記オブジェクトに対するあらゆるトリガー条件を、前記イベントを所有する前記クラスに対して定義されたあらゆるトリガー関係に対してチェックするメカニズムと、成立するあらゆるトリガー条件に対して、
(1)  前記トリガーに関連する前記サービスが実行されるオブジェクトの集合を決定するメカニズムを提供し、そして
(2-1)  前記サービスのあらゆるアーギュメントに対して値を与え、そして値を必要とするあらゆるアーギュメントには値が提供され、値を提供されるあらゆるアーギュメントには有効な値を受信することを保証し、
(2-2)  前記オブジェクトに対する前記サービスを呼び出すことによって、
(2)  前記オブジェクトの集合のあらゆるオブジェクトに対して前記サービスを実行することにより、
前記トリガー関係に関連するサービスを実行するメカニズムとを提供するようにコンピュータを制御する機能を有するコードを提供するステップと、
トランスレータプログラムを実行するコンピュータを使用して前記ヴァリデートされた形式言語仕様書をトランスレートして、イベントを実行した結果を要求者に通知するメカニズムを提供するようにコンピュータを制御する機能を有するコードを提供するステップと、
を含む、請求項５７に記載の方法。
【請求項６０】
実行されると、概念モデルでモデル化されたコンピュータアプリケーションの機能を定義する形式言語仕様書をアプリケーションと呼ばれるコンピュータプログラムに自動的にトランスレートするプロセスを実行するように前記コンピュータを制御するコンピュータ可読命令を記憶しているコンピュータ可読媒体において、前記プロセスが、
Ａ）前記形式言語仕様書中には欠けている情報がないという点で前記形式言語仕様書が完全であることを保証し、そして前記形式言語仕様書が前記概念モデルのプリミティブがシンタックス的にそしてセマンティックス的に矛盾がなくそして曖昧さがないという点で正確であることを保証するために、前記形式言語仕様書をヴァリデートするステップと、
Ｂ）前記ヴァリデートされた形式言語仕様書を、少なくとも認識データを入力することによりユーザがログインすることを可能とするためのユーザインタフェースアクセスメカニズムを提供するために、そして少なくとも１つのエージェント関係においてエージェントとして働くヴァリデートされた形式言語仕様書のクラスのインスタンスとしてユーザを認証しヴァリデートするために前記認識データを用いるためにコンピュータを制御する機能を有するコンピュータ可読コードにトランスレートするステップと、
Ｃ）前記ヴァリデートされた形式言語仕様書を、ユーザがクエリー可能なオブジェクトおよびアトリビュートの集合と、前記ユーザが実行可能なサービスの集合とを定義するシステムのビューを提供するためにコンピュータを制御する機能を有するコンピュータ可読コードにトランスレートするステップと、なお、前記システムビューのコンテンツは前記アプリケーションにアクセスする前記ユーザのアイデンティティに依存し、
Ｄ）前記ヴァリデートされた形式言語仕様書を、前記アプリケーションによって管理される情報に関してクエリーを形成することにより、アプリケーションの機能とインタラクションしそして実行するためにユーザインタフェースインタラクションメカニズムを提供するためコンピュータを制御する機能を有するコンピュータ可読コードにトランスレートし、そして、前記アプリケーション、イベントを含む前記サービス、ローカルトランザクションそしてグローバルトランザクションによって管理されている前記情報の状態を修正するためのサービスを実行するステップとを含む
コンピュータ可読媒体。
【請求項６１】
形式言語仕様書をヴァリデートする方法であって、
Ａ）形式言語で書かれそしてコンピュータのメモリに記憶された仕様書を読むためにＣＡＳＥモデリングツールコンピュータプログラムにより制御されるコンピュータを使用し、ここで形式言語は各形式言語ステートメントが完全且つ正確でなければならないようにその中の全ての有効なステートメントのシンタックスおよびセマンティックスを正確に制御する文法を有し、ここで形式仕様書言語における全てのステートメントは存在しなければならず且つ正確であると思われる有効な値をもたなければならないという双方の特性の集合を有し、そしてここで形式言語仕様書におけるステートメントはそのタイプのステートメントに関するシンタックスおよびセマンティックスのルールにより要求されるステートメント中に欠落している情報がない場合に完全であり、そしてここで前記形式言語におけるステートメントのいくつかの特性はフォーミュラが異なるタイプであり、これらの各々は所定のシンタックスに従わなければならず、そして前記フォーミュラが完全且つ正確であることを確実にするために前記フォーミュラをヴァリデートするためのプロセスと文法におけるルールの集合を有し、そして前記形式言語仕様書中に具体化されている概念モデルの必要とされる特性がすべて定義されており、そして有効な値を有しているという点でそれが正確であることを保証するために前記形式言語仕様書の各ステートメントをチェックするため、前記形式言語のシンタックスおよびセマンティックスの前記ルールを使用するために前記ＣＡＳＥモデリングツールを使用して前記コンピュータを制御し、
Ｂ）前記形式言語仕様書中の前記ステートメントの各々は欠落している情報がなく正確なシンタックスを有しており、そしてセマンティックス的に正確で曖昧さがないという点で各前記ステートメントが完全であることを保証するために、前記形式言語の各ステートメントをチェックするため、前記形式言語のシンタックスおよびセマンティックスの前記ルールを使用するために前記ＣＡＳＥモデリングツールコンピュータプログラムを使用して前記コンピュータを制御するステップとを含む、
形式言語仕様書をヴァリデートする方法。
【請求項６２】
いずれかの情報が欠落してる場合に欠落情報に対する要求を前記コンピュータの表示部に表示されるメッセージを介して提示するために前記ＣＡＳＥモデリングツールコンピュータプログラムを使用する前記コンピュータを制御し、いずれかのシンタックス的もしくはセマンティック的なエラーを訂正する要求、または前記ヴァリデーションプロセス中に発見されたいずれかの曖昧さを明確化する要求を前記コンピュータの表示部に表示されるメッセージを介して提示するために前記ＣＡＳＥツール使用して前記コンピュータ制御するステップをさらに含む請求項６１に記載の方法。
【請求項６３】
エレメントが前記形式言語仕様書に追加される毎に部分的ヴァリデーションを実行するためにＣＡＳＥモデリングツールコンピュータプログラムを使用する前記コンピュータを制御し、完全さと正確さについてチェックし、エラーが発見された場合には追加された前記形式言語仕様書の部分に無効であるとするマーキングをし、これによって、前記形式言語仕様書の完全ヴァリデーションが要求された後で前記コンピュータが前記エラーを訂正する要求をその表示部に表示することが可能となるようにするステップをさらに含む請求項６１に記載の方法。
【請求項６４】
前記ＣＡＳＥモデリングツールコンピュータプログラムにより制御される前記コンピュータを使用してステップＡが、前記概念モデル中のすべてのエレメントが存在しまた有効な値を有する特性の集合を有することをチェックして保証するステップを含み、ステップＢが、前記概念モデル中のあらゆるタイプのフォーミュラに対して所定のプロセスと文法ステップを用いて各々がシンタックス的およびセマンティックス的に正確であることを保証するステップを含む請求項６１に記載の方法。
【請求項６５】
前記ＣＡＳＥモデリングツールコンピュータプログラムにより制御される前記コンピュータおよび前記形式言語のシンタックスおよびセマンティックスのルールを使用してステップＢが、フォーミュラをヴァリデートするため、各フォーミュラが前記形式言語におけるそのタイプのフォーミュラに対して定義されている正確なシンタックスに準拠しておりそしてセマンティックス的に正確であることを保証するステップを含み、ここで前記形式言語におけるフォーミュラにはいくつかタイプがあり、そして各々のタイプの前記形式言語におけるフォーミュラに対して所定のヴァリデーションプロセスと文法のルールの集合とが存在しており、ヴァリデート中のフォーミュラのタイプにとって適切なシンタックスおよびセマンティックスのルールの集合が各フォーミュラのヴァリデーションのために用いられる請求項６１に記載の方法。
【請求項６６】
ステップＡとＢが、ＣＡＳＥツールコンピュータプログラムにより制御されるコンピュータを使用して、あらゆるフォーミュラがシンタックス的およびセマンティックス的に正確であることを少なくともチェックして保証することと、あらゆるクラスが識別機能と少なくともクリエーションエベントとを有することをチェックして保証することと、アグリゲーションのあらゆる名称が前記形式言語仕様書中で固有であることをチェックして保証することと、あらゆるデライブドアトリビュートが少なくともデリベーションフォーミュラを有することおよびあらゆるサービスがそれを実行するものと宣言されているエージェントを有することをチェックして保証することによって実行される請求項６１に記載の方法。
【請求項６７】
さらに前記概念モデルを定義する作業をしているユーザが１つ以上のフォーミュラをインヴァリデートすることのできる変更をする毎にステップＡとＢを実行することによりＣＡＳＥツールコンピュータプログラムにより制御されるコンピュータを使用するステップを含み、所定のフォーミュラは一時的に不正確であることを許容され、ユーザが概念モデルを定義することを終了した後で完全ヴァリデーションプロセスが実行された場合、後でユーザがこれらのフォーミュラを検査することが可能であるようにする請求項６１に記載の方法。
【請求項６８】
ステップＡおよびＢが完了しそしてすべてのフォーミュラおよび前記形式言語仕様書のすべての他のステートメントがそれらがシンタックス的およびセマンティックス的に完全で正確であることを確実にするためにヴァリデートがされた後に、前記形式言語仕様書をコンピュータコードに自動的にトランスレートするため、前記形式言語仕様書に書かれている形式言語で書かれた形式言語仕様書をワーキングコンピュータコードにトランスレートするために設計されたトランスレーションプログラムを実行するコンピュータを使用するステップをさらに含む請求項６１に記載の方法。
【請求項６９】
それによってユーザが前記概念モデルを定義しそして変更を行うことのできるユーザインタフェースツールを提示するために、前記コンピュータの表示部に提示を行なうＣＡＳＥツールコンピュータプログラムによって制御されるコンピュータを使用するステップと、
前記概念モデルに対して変更が加えられる毎に影響されたフォーミュラをすべてヴァリデートするために、ＣＡＳＥツールコンピュータプログラムによって制御されるコンピュータを使用するステップと、
変更によって厳密にヴァリデートされていた特性が影響された場合、特性に有効な値が与えられなかったら変更を拒絶し、与えられていれば変更を容認するステップと、
厳密にはヴァリデートされていなかった特性が変更によって影響された場合、いずれかのエラーが発生した場合はユーザは通知を受けるが、希望すれば修正を実行することを許容されるステップと、
影響されたフォーミュラがない場合、概念モデルをユーザが指定したとおりに修正するステップと、
をさらに含む請求項６１に記載の方法。
【請求項７０】
前記形式言語仕様書の表示モデル部分が、
前記ユーザによって定義されたいずれかのパターンが、なんら必須の情報が欠落していない容認可能なユーザインタフェースパターンであることを検証するために、前記ＣＡＳＥツールを実行する前記コンピュータを使用することと、
前記ユーザインタフェースの一部として指定されているフィルタ中で用いられるアトリビュートがフィルタを所有しているクラスから明らかであることを検証するために、前記ＣＡＳＥツールを実行する前記コンピュータを使用することと、
オーダー基準で用いられるアトリビュートがオーダー基準を所有しているクラスから明らかであることを検証するために、前記ＣＡＳＥツールを実行する前記コンピュータを使用することと、
フィルタ中のいずれかのフォーミュラが正しいシンタックスを有しておりセマンティックス的に正しく、そして前記概念モデル中で定義されている項目だけを用いていることを検証するために、前記ＣＡＳＥツールを実行する前記コンピュータを使用することと、
いずれかのアクション選択パターンが前記概念モデル中で定義されている表示パターンを最終アクションとして用いることを検証するために、前記ＣＡＳＥツールを実行する前記コンピュータを使用することと、
依存パターンのいずれかの集合が末端であって合流点を有することを検証するために、前記ＣＡＳＥツールを実行する前記コンピュータを使用することと、
いずれかのパターンが定義されているが用いられていない場合、またはインスタンスパターンが複製されている場合には、前記ユーザに対して前記コンピュータの表示部に警告を表示するために、前記ＣＡＳＥツールを実行する前記コンピュータを使用すること
によってヴァリデートされる請求項６１に記載の方法。
【請求項７１】
オペレーティングシステムでプログラムミングされたコンピュータと、ヴァリデーションプロセスの機能を形成する前記コンピュータを制御するために前記オペレーティングシステムと協同するヴァリデーションプログラムを含む装置であって、
Ａ）前記形式言語仕様書中に具体化されている概念モデルの必要とされるプロパティがすべて定義されていて、有効な値を有しているという点でそれが完全であることを保証するため、前記形式言語仕様書をチェックし、
Ｂ）前記形式言語仕様書中のステートメントが正確なシンタックスを有しており、そしてセマンティックス的に正確でそして曖昧さがないという点でそれが正確であることを保証するために、前記形式言語仕様書が書かれている形式言語がなんであれその文法のルールを使用し前記形式言語仕様書をチェックする
ヴァリデーションプロセスの機能を形成する装置、
【請求項７２】
前記ヴァリデーションプログラムが、
いずれかの情報が欠落している場合には前記欠落情報に関する要求をユーザインタフェースのメカニズムを介して提示し、または、いずれかのシンタックス的もしくはセマンティック的なエラーを訂正するための、または前記ヴァリデーションプロセス中に発見されたいずれかの曖昧さを明確化するための要求をユーザインタフェースメカニズムを介して提示する
追加の機能を実行するように前記コンピュータを制御する請求項７１に記載の装置。
【請求項７３】
前記ヴァリデーションプログラムが、
エレメントが前記形式言語仕様書に追加される毎に部分的ヴァリデーションを実行して、完全さと正確さについてチェックし、エラーが発見された場合、追加された前記形式言語仕様書の部分に無効であるとのマーキングをし、これによって、前記形式言語仕様書の完全ヴァリデーションが要求された後で前記エラーの訂正要求を提示することが可能となるようにする、
追加機能を実行するように前記コンピュータを制御する請求項７１に記載の装置。
【請求項７４】
前記ヴァリデーションプログラムが、
前記概念モデル中のすべてのエレメントが存在しそして有効な値を有するプロパティの集合を有することをチェックして保証し、
前記概念モデル中のあらゆるタイプのフォーミュラに対して、所定のプロセスと文法を用いて、各々がシンタックス的およびセマンティックス的に正確であることを保証することによってステップＢを実行する、
追加機能を実行するように前記コンピュータを制御する請求項７１に記載の装置。
【請求項７５】
前記ヴァリデーションプログラムが、
ユーザが前記概念モデルを定義しそしてそれに対して変更を加えることが可能であるユーザインタフェースツールを提示するステップと、
前記概念モデルに対して変更が加えられる毎に影響されたフォーミュラをすべてチェックするステップと、
変更によって厳密にヴァリデートされていたプロパティが影響された場合、プロパティに有効な値が与えられていなければ変更を拒絶するステップと、
プロパティに有効な値が与えられていれば変更を容認するステップと、
厳密にはヴァリデートされていなかったプロパティが変更によって影響された場合、いずれかのエラーが発生したらユーザは通知を受けるが、希望すれば修正を実行することを許容されるステップと、
影響されたフォーミュラがない場合、概念モデルをユーザが指定したとおりに修正するステップと、
を実行するように前記コンピュータを制御する請求項７１に記載の装置。
【請求項７６】
コンピュータ可読命令を記憶するコンピュータ可読媒体であって、
実行されると、
Ａ）前記形式言語仕様書中に具体化されている概念モデルの必要とされるプロパティがすべて定義されていて、有効な値を有しているという点でそれが完全であることを保証するために、前記形式言語仕様書をチェックするステップと、
Ｂ）前記形式言語仕様書中のステートメントが正確なシンタックスを有しており、そしてセマンティックス的に正確で曖昧さがないという点でそれが正確であることを保証するために、前記形式言語仕様書が書かれている形式言語がなんであれその文法のルールを使用しそして前記形式言語仕様書をチェックするステップと、
を含むプロセスを実行するコンピュータ可読媒体。
【請求項７７】
実行されると、請求項７６に記載のプロセスを実行するようにコンピュータを制御し、いずれかの情報が欠落している場合には前記欠落情報に対する要求をユーザインタフェースメカニズムを介して提示し、または、いずれかのシンタックス的もしくはセマンティック的なエラーを訂正しまたは前記ヴァリデーションプロセス中に発見されたいずれかの曖昧さを明確化する要求をユーザインタフェースのメカニズムを介して提示するさらなるステップを実行するように前記コンピュータを制御するコンピュータ可読命令を記憶する請求項７６に記載のコンピュータ可読媒体。
【請求項７８】
実行されると、請求項７６に記載のプロセスを実行するようにコンピュータを制御し、エレメントが前記形式言語仕様書に追加される毎に部分的ヴァリデーションを実行して、完全さと正確さについてチェックし、エラーが発見されたら無効であるとして追加された前記形式言語仕様書の部分にマーキングし、これによって、前記形式言語仕様書の完全ヴァリデーションが要求された後で前記エラーの訂正要求を提示することが可能となるようにするさらなるステップを実行するように前記コンピュータを制御するコンピュータ可読命令を記憶する請求項７６に記載のコンピュータ可読媒体。
【請求項７９】
実行されると、請求項７６に記載のプロセスを実行するようにコンピュータを制御し、ステップＡが前記概念モデル中のすべてのエレメントが存在しまた有効な値を有するプロパティの集合を有することをチェックして保証するステップを含み、そしてステップＢが前記概念モデル中のあらゆるタイプのフォーミュラに対して所定のプロセスと文法を用いて各々がシンタックス的およびセマンティックス的に正確であることを保証するステップを含むようにするコンピュータ可読命令を記憶する請求項７６に記載の前記コンピュータ可読媒体。
【請求項８０】
実行されると、請求項７６に記載のプロセスを実行するようにコンピュータを制御し、ステップＢがフォーミュラをヴァリデートして、各フォーミュラがそのタイプのフォーミュラに対して定義されている正確なシンタックスに準拠しており、またセマンティックス的に正確であることを保証するステップを含み、ここで、フォーミュラにはいくつかタイプがあり、前記プロセスが所定のヴァリデーションプロセスを含み、各々のタイプのフォーミュラに対して文法のルールの集合とが存在しており、そしてヴァリデート中のフォーミュラのタイプに関し適切なヴァリデーションプロセスとルールの集合とが各フォーミュラのヴァリデーションのために用いられるように請求項７６に記載の前記プロセスを実行するコンピュータ可読命令を記憶する請求項７６に記載の前記コンピュータ可読媒体。
【請求項８１】
実行されると、請求項７６に記載のプロセスを実行するようにコンピュータを制御し、あらゆるフォーミュラが正しいシンタックスを有しそしてセマンティックス的に正確であることを保証するために少なくともチェックすることによりステップＡとＢが実行され、そしてあらゆるクラスが識別機能と少なくともクリエーションエベントとを有することを保証するために前記プロセスを実行し、そしてアグリゲーションのあらゆる名称が前記形式言語仕様書中で固有であることを保証するために前記プロセスを実行し、そしてあらゆるデライブドアトリビュートが少なくともデリベーションフォーミュラを有し、あらゆるサービスがそれを実行するものと宣言されているエージェントを有すること保証するために前記プロセスを実行するコンピュータ可読命令を記憶する請求項７６に記載のコンピュータ可読媒体。
【請求項８２】
実行されると、請求項７６に記載のプロセスを実行するようにコンピュータを制御し、前記概念モデルの定義の作業をしているユーザが１つ以上のフォーミュラをインヴァリデートする変更をする毎にステップＡとＢが実行され、そしてユーザが概念モデルの定義を終了した後で、完全ヴァリデーションプロセスが実行された後に、ユーザがフォーミュラを検査することが可能となるように、所定のフォーミュラは一時的に不正確であることを許容されるプロセスを実行するコンピュータ可読命令を記憶する請求項７６に記載のコンピュータ可読媒体。
【請求項８３】
実行されると、請求項７６に記載のプロセスを実行するようにコンピュータを制御し、ステップＡとＢが完了しすべてのフォーミュラが正確なシンタックスを有しセマンティックス的に完全で正確であることを保証するためにすべてのフォーミュラがヴァリデートされた後に、前記形式言語仕様書をコンピュータコードに自動的にトランスレートするさらなるステップをコンピュータを用いて実行するようにするコンピュータ可読命令を記憶する請求項７６に記載の前記コンピュータ可読媒体。
【請求項８４】
実行されると、請求項７６に記載のプロセスを実行するようにコンピュータを制御し、さらに、
それによってユーザが前記概念モデルを定義可能でありそしてそれに対して変更を加えるユーザインタフェースツールを提示するステップと、
前記概念モデルに対して変更が加えられる毎に、影響されたフォーミュラをすべてチェックするステップと、
変更によって、厳密にヴァリデートされていたプロパティが影響された場合、プロパティに有効な値が与えられていなければ変更を拒絶し、プロパティに有効な値が与えられてれば変更を容認するステップと、
厳密にはヴァリデートされていなかったプロパティが変更によって影響された場合、いずれかのエラーが発生したらユーザは通知を受けるが希望すれば修正を実行することを許容されるステップと、
影響されたフォーミュラがない場合、概念モデルをユーザが指定したとおりに修正するステップと、
が実行されるようにするコンピュータ可読命令を記憶する請求項７６に記載の前記コンピュータ可読媒体。
【請求項８５】
実行されると、請求項７６に記載のプロセスを実行するようにコンピュータを制御し、前記形式言語仕様書の表示モデル部分が、
前記ユーザによって定義されたいずれかのパターンがなんら必須の情報が欠落していない容認可能なユーザインタフェースパターンであることを検証することと、
前記ユーザインタフェースの一部として指定されているフィルタ中で用いられるアトリビュートがフィルタを有しているクラスから明らかであることと、
オーダー基準で用いられるアトリビュートがオーダー基準を所有しているクラスから明らかであることと、
フィルタ中のいずれかのフォーミュラが正しいシンタックスを有していてセマンティックス的に正しく、そして前記概念モデル中で定義されている項目だけを用いていることと、
いずれかのアクション選択パターンが前記概念モデル中で定義されている表示パターンを最終アクションとして用いることと、
依存パターンのいずれかの集合が末端であって合流点を有することと、
いずれかのパターンが定義されているが用いられていないまたはインスタンスパターンが複製されている場合には前記ユーザに対して警告を表示することと、
によってヴァリデートされるようにするコンピュータ可読命令を記憶する、請求項９０に記載の前記コンピュータ可読媒体。