(57)【要約】  データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールを管理するシステム及び方法が提供される。統合ユーザインターフェースが提供されて、ルールセットのバージョン制御及びビジネスプロセス管理を可能にする統合アプリケーション開発システムにユーザがアクセスできるようにし、各ルールセットは１つ又は複数のルールを含む。第１のユーザからの命令に応答して、ルールセットの特定のバージョンはリポジトリから借り出され、ルールセットは第１の状態から第２の状態に遷移し、ルールセットはリポジトリに返却される。値にルールセットの特定のバージョンに関連付けられたログデータオブジェクトは、（ｉ）どのユーザがリポジトリからルールセットを借り出したか及びどのユーザが第１の状態から第２の状態へのルールセットの遷移を承認したかを指定する情報を、又は（ｉｉ）ルールセットがリポジトリから借り出されたときを示すタイムスタンプ及びルールセットがいつ、第１の状態から第２の状態に遷移したかを示すタイムスタンプを指定する情報を記憶する。
2020522779.tif 000002
【特許請求の範囲】
【請求項１】
データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールを管理するコンピュータ実施方法であって、
ルールセットのバージョン制御及びビジネスプロセス管理を可能にする統合アプリケーション開発システムにユーザがアクセスできるようにする統合ユーザインターフェースを提供することであって、各ルールセットは１つ又は複数のルールを含み、各ルールは、前記ルールの入力に応じて前記ルールの出力の値を計算する１つ又は複数のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が前記１つ又は複数の入力関係を満たす場合、ルールケースが前記所与の入力記録によりトリガーされる、提供することと、
第１のルールセットの複数のバージョンをリポジトリに記憶することと、
前記第１のルールセットの前記複数のバージョンについての情報を有する少なくとも１つのログデータオブジェクトを前記リポジトリに記憶することと、
前記統合ユーザインターフェースの第１のユーザインターフェースを通して、第１のユーザ識別子が関連付けられた第１のユーザから命令を受信することと、
前記第１のユーザからの前記命令に応答して、
前記リポジトリに記憶された前記第１のルールセットの複数のバージョンから前記第１のルールセットの特定のバージョンを選択することと、
前記第１のルールセットの前記特定のバージョンを複数の状態の第１の状態から前記複数の状態の第２の状態に遷移させることと、
前記第１のルールセットの前記特定のバージョンが関連付けられたログデータオブジェクトに、
（ｉ）前記第１のユーザ識別子が関連付けられたユーザが、前記リポジトリから前記第１のルールセットの前記特定のバージョンを選択し、前記第１のユーザ識別子が関連付けられた前記ユーザが、前記第１の状態から前記第２の状態への前記第１のルールセットの前記特定のバージョンの前記遷移を承認したことを指定する情報、又は
（ｉｉ）前記リポジトリからの前記第１のルールセットの前記特定のバージョンの前記選択に第１のタイムスタンプが関連付けられ、前記第１の状態から前記第２の状態への前記第１のルールセットの前記特定のバージョンの前記遷移に第２のタイムスタンプが関連付けられることを指定する情報
の少なくとも一方を記憶することと、
を含む、方法。
【請求項２】
前記統合ユーザインターフェースを通して、第２のユーザ識別子が関連付けられた第２のユーザから第２の命令を受信することと、
前記第２のユーザからの前記第２の命令に応答して、
前記リポジトリに記憶された複数のルールセットから２つ以上のルールセットの群を選択することであって、各ルールセットは、前記ルールセットの複数のバージョンから選択された前記ルールセットの特定のバージョンである、選択することと、
前記選択されたルールセットの群にリリースタグを関連付けることと、
前記統合ユーザインターフェースを通して、第３のユーザ識別子が関連付けられた第３のユーザから第３の命令を受信することと、
前記第３のユーザからの前記第３の命令に応答して、
前記リリースタグを複数の状態の第１の状態から前記複数の状態の第２の状態に遷移させることと、
を含む、請求項１に記載の方法。
【請求項３】
前記リリースタグが関連付けられたログデータオブジェクトに、
（ｉ）前記第２のユーザ識別子が関連付けられたユーザが前記ルールセットの群を選択し、前記第３のユーザ識別子が関連付けられた前記ユーザが、前記第１の状態から前記第２の状態へのリリースタグの前記遷移を承認したことを指定する情報、又は
（ｉｉ）前記ルールセットの群の前記選択に第３のタイムスタンプが関連付けられ、前記第１の状態から前記第２の状態への前記リリースタグの前記遷移に第４のタイムスタンプが関連付けられることを指定する情報
の少なくとも一方を記憶することを含む、請求項２に記載の方法。
【請求項４】
前記第１の状態は、前記第１のルールセットが、なお編集中のドラフトであることを示し、前記第２の状態は、前記第１のルールセットがレビューアによるレビュー可能な状態であることを示す、請求項１に記載の方法。
【請求項５】
前記第１の状態は、前記第１のルールセットが、前記第１のルールセットのリリースを承認する権限を有するユーザによるレビューが可能な状態であることを示し、前記第２の状態は、前記第１のルールセットが完成し、リリース可能な状態であることを示す、請求項１に記載の方法。
【請求項６】
各ルールセットは、入力データを出力データに変換するソフトウェアモジュール又はデータ処理エンティティの少なくとも一方に対応する、請求項１に記載の方法。
【請求項７】
前記統合アプリケーション開発システムは、ソースコード制御モジュール及びビジネスプロセス管理モジュールを含み、前記ソースコード制御モジュールは、前記第１のルールセットの前記特定のバージョンの前記選択を処理し、前記ビジネスプロセス管理モジュールは、前記第１の状態から前記第２の状態への前記第１のルールセットの前記特定のバージョンの前記遷移を処理する、請求項１に記載の方法。
【請求項８】
前記ソースコード制御モジュールは、（ｉ）前記第１のユーザが前記リポジトリから前記第１のルールセットの前記特定のバージョンを選択したことを指定する情報、又は（ｉｉ）前記リポジトリからの前記第１のルールセットの前記特定のバージョンの前記選択に前記第１のタイムスタンプが関連付けられることを指定する情報の少なくとも一方の前記ログデータオブジェクトへの前記記憶を処理し、
前記ビジネスプロセス管理モジュールは、（ｉ）前記第１のユーザが、前記第１の状態から前記第２の状態への前記第１のルールセットの前記特定のバージョンの前記遷移を承認したことを指定する情報、又は（ｉｉ）前記第１の状態から前記第２の状態への前記第１のルールセットの前記特定のバージョンの前記遷移に前記第２のタイムスタンプが関連付けられることを指定する情報の少なくとも一方の前記ログデータオブジェクトへの前記記憶を処理する、請求項７に記載の方法。
【請求項９】
前記リポジトリから前記第１のルールセットの前記特定のバージョンを借り出すことを含み、前記第１のルールセットの前記特定のバージョンを前記リポジトリに返却する前、前記リポジトリに記憶された前記第１のルールセットの前記特定のバージョンをロックして、他のユーザが前記リポジトリ内の前記第１のルールセットの前記特定のバージョンを変更できないようにする、請求項１に記載の方法。
【請求項１０】
前記統合ユーザインターフェースの第２のユーザインターフェースを通して、第２のユーザ識別子が関連付けられた第２のユーザから命令を受信することと、
前記第２のユーザからの前記命令に応答して、
前記リポジトリに記憶された前記第１のルールセットの複数のバージョンから前記第１のルールセットの前記特定のバージョンを選択することと、
実行することであって、
（ｉ）アプリケーションプログラムに前記第１のルールセットの前記特定のバージョンを関連付け、前記アプリケーションプログラムの実行をシミュレートして、前記第１のルールセットの前記特定のバージョンの１つ又は複数のルールに従って入力記録を処理し、出力を生成すること又は
（ｉｉ）前記第１のルールセットの前記特定のバージョンの１つ又は複数のルールに従って入力記録を処理して、前記出力を生成するアプリケーションプログラムの実行の前のシミュレーションから生成された、記憶された出力を検索すること
の少なくとも一方を実行することと、
を含む、請求項１に記載の方法。
【請求項１１】
前記第１のルールセットの前記特定のバージョンが関連付けられた前記ログデータオブジェクトに、
（ｉ）前記第２のユーザ識別子が関連付けられたユーザが、前記リポジトリから前記第１のルールセットの前記特定のバージョンを選択し、前記第２のユーザ識別子が関連付けられた前記ユーザが、前記第１のルールセットの前記特定のバージョンを使用して前記アプリケーションプログラムの実行をシミュレートして、出力を生成したことを指定する情報、
（ｉｉ）前記第２のユーザ識別子が関連付けられたユーザが、前記リポジトリから前記第１のルールセットの前記特定のバージョンを選択し、前記第２のユーザ識別子が関連付けられた前記ユーザが、前記第１のルールセットの前記特定のバージョンを使用した前記アプリケーションプログラムの実行の前のシミュレーションから生成された、記憶された出力を検索したことを指定する情報、
（ｉｉｉ）前記リポジトリからの前記第１のルールセットの前記特定のバージョンの前記選択に、第３のタイムスタンプが関連付けられ、前記第１のルールセットの前記特定のバージョンを使用して出力を生成する前記アプリケーションプログラムの前記実行の前記シミュレーションに第４のタイムスタンプが関連付けられることを指定する情報、
（ｉｖ）前記リポジトリからの前記第１のルールセットの前記特定のバージョンの前記選択に、第３のタイムスタンプが関連付けられ、前記第１のルールセットの前記特定のバージョンを使用した前記アプリケーションプログラムの実行の前のシミュレーションから生成された、記憶された出力の前記検索に第４のタイムスタンプが関連付けられることを指定する情報
の少なくとも１つを記憶することを含む、請求項１０に記載の方法。
【請求項１２】
前記統合アプリケーション開発システムは、ソースコード制御モジュール及びシミュレーションモジュールを含み、前記ソースコード制御モジュールは、
（ｉ）前記第２のユーザ識別子が関連付けられたユーザが、前記リポジトリから前記第１のルールセットの前記特定のバージョンを選択したことを指定する情報、又は
（ｉｉ）前記リポジトリからの前記第１のルールセットの前記特定のバージョンの前記選択に第１のタイムスタンプが関連付けられることを指定する情報
の少なくとも一方の前記ログデータオブジェクトへの前記記憶を処理し、
前記シミュレーションモジュールは、
（ｉ）前記第２のユーザ識別子が関連付けられたユーザが、前記第１のルールセットの前記特定のバージョンを使用して出力を生成する前記アプリケーションプログラムの実行をシミュレートしたことを指定する情報、
（ｉｉ）前記第２のユーザ識別子が関連付けられたユーザが、前記第１のルールセットの前記特定のバージョンを使用した前記アプリケーションプログラムの実行の前のシミュレーションから生成された、記憶された出力を検索することを指定する情報、
（ｉｉｉ）前記第１のルールセットの前記特定のバージョンを使用して出力を生成する前記アプリケーションプログラムの実行の前記シミュレーションに第２のタイムスタンプが関連付けられることを指定する情報、又は
（ｉｖ）前記第１のルールセットの前記特定のバージョンを使用した前記アプリケーションプログラムの実行の前のシミュレーションから生成された、記憶された出力の前記検索に前記第２のタイムスタンプが関連付けられることを指定する情報
の少なくとも１つの前記ログデータオブジェクトへの前記記録を処理する、請求項１１に記載の方法。
【請求項１３】
前記統合アプリケーション開発システムは、ソースコード制御モジュール及びシミュレーションモジュールを含み、前記ソースコード制御モジュールは、前記第１のルールセットの前記特定のバージョンの前記選択を処理し、前記シミュレーションモジュールは、前記第１のルールセットの前記特定のバージョンのルールに従って入力記録を処理し、出力を生成する前記アプリケーションプログラムの実行の前記シミュレーションを処理する、請求項１０に記載の方法。
【請求項１４】
前記第１のユーザインターフェースは、前記第１のユーザのコンピュータ端末において提供され、前記第２のユーザインターフェースは、前記第２のユーザのコンピュータ端末において提供される、請求項１０に記載の方法。
【請求項１５】
前記第１のユーザからの前記命令に応答して、前記第１のルールセットの前記特定のバージョンを編集することと、
前記第１のルールセットの前記編集された特定のバージョンを前記リポジトリに記憶することと、
前記第１のルールセットの前記特定のバージョンに関連付けられた前記ログデータオブジェクトに、
（ｉ）前記第１のユーザが前記第１のルールセットの前記特定のバージョンを編集したことを指定する情報、又は
（ｉｉ）前記第１のルールセットの前記特定のバージョンの前記変更に第３のタイムスタンプが関連付けられることを指定する情報
の少なくとも一方を記憶することと、
を含む、請求項１に記載の方法。
【請求項１６】
前記統合アプリケーション開発システムは、ソースコード制御モジュール、ビジネスプロセス管理モジュール、及びルールエディタを含み、
前記ソースコード制御モジュールは、前記第１のルールセットの前記特定のバージョンの前記選択を処理し、
前記ビジネスプロセス管理モジュールは、前記第１の状態から前記第２の状態への前記第１のルールセットの前記特定のバージョンの前記遷移を処理し、
前記ルールエディタは、前記第１のルールセットの前記特定のバージョンの前記編集を処理する、請求項１５に記載の方法。
【請求項１７】
データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールを管理するコンピュータプログラムを記憶するコンピュータ可読媒体であって、前記コンピュータプログラムは、コンピュータシステムに、
ルールセットのバージョン制御及びビジネスプロセス管理を可能にする統合アプリケーション開発システムにユーザがアクセスできるようにする統合ユーザインターフェースを提供することであって、各ルールセットは１つ又は複数のルールを含み、各ルールは、前記ルールの入力に応じて前記ルールの出力の値を計算する１つ又は複数のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が前記１つ又は複数の入力関係を満たす場合、ルールケースが前記所与の入力記録によりトリガーされる、提供することと、
第１のルールセットの複数のバージョンをリポジトリに記憶することと、
前記第１のルールセットの前記複数のバージョンについての情報を有する少なくとも１つのログデータオブジェクトを前記リポジトリに記憶することと、
前記統合ユーザインターフェースの第１のユーザインターフェースを通して、第１のユーザ識別子が関連付けられた第１のユーザから命令を受信することと、
前記第１のユーザからの前記命令に応答して、
前記リポジトリに記憶された前記第１のルールセットの複数のバージョンから前記第１のルールセットの特定のバージョンを選択することと、
前記第１のルールセットの前記特定のバージョンを複数の状態の第１の状態から前記複数の状態の第２の状態に遷移させることと、
前記第１のルールセットの前記特定のバージョンが関連付けられたログデータオブジェクトに、
（ｉ）前記第１のユーザ識別子が関連付けられたユーザが、前記リポジトリから前記第１のルールセットの前記特定のバージョンを選択し、前記第１のユーザ識別子が関連付けられた前記ユーザが、前記第１の状態から前記第２の状態への前記第１のルールセットの前記特定のバージョンの前記遷移を承認したことを指定する情報、又は
（ｉｉ）前記リポジトリからの前記第１のルールセットの前記特定のバージョンの前記選択に第１のタイムスタンプが関連付けられ、前記第１の状態から前記第２の状態への前記第１のルールセットの前記特定のバージョンの前記遷移に第２のタイムスタンプが関連付けられることを指定する情報
の少なくとも一方を記憶することと、
を行わせる命令を含む、コンピュータ可読媒体。
【請求項１８】
アプリケーションプログラムと併用する１つ又は複数のルールを管理するシステムであって、
１つ又は複数のルールを記憶するデータ記憶システムと、
グラフィカルユーザインターフェースを提供する少なくとも１つの出力デバイス又はポートと、
前記データ記憶システム及び前記少なくとも１つの出力デバイス又はポートに結合されたコンピュータシステムであって、
ルールセットのバージョン制御及びビジネスプロセス管理を可能にする統合アプリケーション開発システムにユーザがアクセスできるようにする統合ユーザインターフェースを提供する回路であって、各ルールセットは１つ又は複数のルールを含み、各ルールは、前記ルールの入力に応じて前記ルールの出力の値を計算する１つ又は複数のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が前記１つ又は複数の入力関係を満たす場合、ルールケースが前記所与の入力記録によりトリガーされる、提供する回路と、
第１のルールセットの複数のバージョンをリポジトリに記憶する回路と、
前記第１のルールセットの前記複数のバージョンについての情報を有する少なくとも１つのログデータオブジェクトを前記リポジトリに記憶する回路と、
前記統合ユーザインターフェースの第１のユーザインターフェースを通して、第１のユーザ識別子が関連付けられた第１のユーザから命令を受信する回路と、
前記第１のユーザからの前記命令に応答して、
前記リポジトリに記憶された前記第１のルールセットの複数のバージョンから前記第１のルールセットの特定のバージョンを選択する回路と、
前記第１のルールセットの前記特定のバージョンを複数の状態の第１の状態から前記複数の状態の第２の状態に遷移させる回路と、
前記第１のルールセットの前記特定のバージョンが関連付けられたログデータオブジェクトに、
（ｉ）前記第１のユーザ識別子が関連付けられたユーザが、前記リポジトリから前記第１のルールセットの前記特定のバージョンを選択し、前記第１のユーザ識別子が関連付けられた前記ユーザが、前記第１の状態から前記第２の状態への前記第１のルールセットの前記特定のバージョンの前記遷移を承認したことを指定する情報、又は
（ｉｉ）前記リポジトリからの前記第１のルールセットの前記特定のバージョンの前記選択に第１のタイムスタンプが関連付けられ、前記第１の状態から前記第２の状態への前記第１のルールセットの前記特定のバージョンの前記遷移に第２のタイムスタンプが関連付けられることを指定する情報
の少なくとも一方を記憶する回路と、
を含む、コンピュータシステムと
を含む、システム。
【請求項１９】
アプリケーションプログラムと併用する１つ又は複数のルールを管理するシステムであって、
ルールセットのバージョン制御及びビジネスプロセス管理を可能にする統合アプリケーション開発システムにユーザがアクセスできるようにする統合ユーザインターフェースを提供する手段であって、各ルールセットは１つ又は複数のルールを含み、各ルールは、前記ルールの入力に応じて前記ルールの出力の値を計算する１つ又は複数のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が前記１つ又は複数の入力関係を満たす場合、ルールケースが前記所与の入力記録によりトリガーされる、提供する手段と、
第１のルールセットの複数のバージョンをリポジトリに記憶する手段と、
前記第１のルールセットの前記複数のバージョンについての情報を有する少なくとも１つのログデータオブジェクトを前記リポジトリに記憶する手段と、
前記統合ユーザインターフェースの第１のユーザインターフェースを通して、第１のユーザ識別子が関連付けられた第１のユーザから命令を受信する手段と、
前記第１のユーザからの前記命令に応答して、前記リポジトリから前記第１のルールセットの特定のバージョンを選択する手段と、
前記第１のユーザからの前記命令に応答して、前記第１のルールセットの前記特定のバージョンを複数の状態の第１の状態から前記複数の状態の第２の状態に遷移させる手段と、
前記第１のルールセットの前記特定のバージョンが関連付けられたログデータオブジェクトに、
（ｉ）前記第１のユーザ識別子が関連付けられたユーザが、前記リポジトリから前記第１のルールセットの前記特定のバージョンを選択し、前記第１のユーザ識別子が関連付けられた前記ユーザが、前記第１の状態から前記第２の状態への前記第１のルールセットの前記特定のバージョンの前記遷移を承認したことを指定する情報、又は
（ｉｉ）前記リポジトリからの前記第１のルールセットの前記特定のバージョンの前記選択に第１のタイムスタンプが関連付けられ、前記第１の状態から前記第２の状態への前記第１のルールセットの前記特定のバージョンの前記遷移に第２のタイムスタンプが関連付けられることを指定する情報
の少なくとも一方を記憶する手段と、
を含む、システム。
【請求項２０】
データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールを管理するコンピュータ実施方法であって、
ルールセットの編集、シミュレーション、ビジネスプロセス管理、及びバージョン制御を可能にする統合アプリケーション開発システムにユーザがアクセスできるようにする統合ユーザインターフェースを提供することであって、各ルールセットは１つ又は複数のルールを含み、各ルールは、前記ルールの入力に応じて前記ルールの出力の値を計算する１つ又は複数のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が前記１つ又は複数の入力関係を満たす場合、ルールケースが前記所与の入力記録によりトリガーされる、提供することと、
第１のルールセットの複数のバージョンをリポジトリに記憶することと、
前記第１のルールセットの前記複数のバージョンについての情報を有する少なくとも１つのログデータオブジェクトを前記リポジトリに記憶することと、
前記統合ユーザインターフェースの第１のユーザインターフェースを通して、第１のユーザ識別子が関連付けられた第１のユーザから命令を受信することと、
前記第１のユーザからの前記命令に応答して、
前記リポジトリに記憶された前記第１のルールセットの複数のバージョンから前記第１のルールセットの特定のバージョンを選択することと、
前記第１のルールセットの前記特定のバージョンを編集することと、
アプリケーションプログラムに前記第１のルールセットの前記特定のバージョンを関連付け、前記第１のルールセットの前記特定のバージョンのルールに従って前記アプリケーションプログラムの実行をシミュレートして、入力記録を処理し、出力を生成することと、
前記第１のルールセットの前記特定のバージョンを複数の状態の第１の状態から前記複数の状態の第２の状態に遷移させることと
を含む、方法。
【請求項２１】
前記第１のルールセットの前記特定のバージョンに関連付けられたログデータオブジェクトに、
（ｉ）前記第１のユーザ識別子が関連付けられたユーザが、前記リポジトリから前記第１のルールセットの前記特定のバージョンを選択し、前記第１のルールセットの前記特定のバージョンを編集し、前記第１のルールセットの前記特定のバージョンを使用して前記アプリケーションプログラムの実行をシミュレートして、出力を生成し、前記第１の状態から前記第２の状態への前記第１のルールセットの前記特定のバージョンの前記遷移を承認したことを指定する情報、又は
（ｉｉ）前記リポジトリから前記第１のルールセットの前記特定のバージョンの前記選択には第１のタイムスタンプが関連付けられ、前記第１のルールセットの前記特定のバージョンの前記編集には第２のタイムスタンプが関連付けられ、前記第１のルールセットの前記特定のバージョンを使用した前記アプリケーションプログラムの実行の前記シミュレーションには第３のタイムスタンプが関連付けられ、前記第１の状態から前記第２の状態への前記特定のルールセットの前記遷移には第４のタイムスタンプが関連付けられることを指定する情報
の少なくとも一方を記憶することを含む、請求項２０に記載の方法。
【請求項２２】
前記統合アプリケーション開発システムは、ルールエディタ、シミュレーションモジュール、ビジネスプロセス管理モジュール、及びソースコード制御モジュールを含み、
前記ルールエディタは、前記第１のユーザ識別子が関連付けられた前記ユーザが前記第１のルールセットの前記特定のバージョンを編集したことを指定する情報の前記ログデータオブジェクトへの前記記憶を処理し、
前記シミュレーションモジュールは、前記第１のユーザ識別子が関連付けられた前記ユーザが、前記第１のルールセットの前記編集された特定のバージョンを使用した前記アプリケーションプログラムの実行をシミュレートしたことを指定する情報の前記ログデータオブジェクトへの前記記録を処理し、
前記ビジネスプロセス管理モジュールは、前記第１のユーザ識別子が関連付けられた前記ユーザが、前記第１の状態から前記第２の状態への前記第１のルールセットの前記特定のバージョンの前記遷移を承認したことを指定する情報の前記ログデータオブジェクトへの前記記憶を処理し、
前記ソースコード制御モジュールは、前記第１のユーザ識別子が関連付けられた前記ユーザが、前記リポジトリから前記第１のルールセットの前記特定のバージョンを選択したことを指定する情報の前記ログデータオブジェクトへの前記記憶を処理する、請求項２１に記載の方法。
【請求項２３】
前記統合アプリケーション開発システムは、ルールエディタ、シミュレーションモジュール、ビジネスプロセス管理モジュール、及びソースコード制御モジュールを含み、
前記ソースコード制御モジュールは、前記リポジトリからの前記第１のルールセットの前記特定のバージョンの前記選択に前記第１のタイムスタンプが関連付けられることを指定する情報の前記ログデータオブジェクトへの前記記憶を処理し、
前記ルールエディタは、前記第１のルールセットの前記特定のバージョンの前記編集に前記第２のタイムスタンプが関連付けられることを指定する情報の前記ログデータオブジェクトへの前記記憶を処理し、
前記シミュレーションモジュールは、前記第１のルールセットの前記特定のバージョンを使用した前記アプリケーションプログラムの実行の前記シミュレーションには前記第３のタイムスタンプが関連付けられることを指定する情報の前記ログデータオブジェクトへの前記記憶を処理し、
前記ビジネスプロセス管理モジュールは、前記第１の状態から前記第２の状態への前記特定のルールセットの前記遷移には前記第４のタイムスタンプが関連付けられることを指定する情報の前記ログデータオブジェクトへの前記記憶を処理する、請求項２１に記載の方法。
【請求項２４】
前記統合アプリケーション開発システムは、ルールエディタ、シミュレーションモジュール、ビジネスプロセス管理モジュール、及びソースコード制御モジュールを含み、
前記ルールエディタは、前記第１のルールセットの前記特定のバージョンの編集を処理し、
前記シミュレーションモジュールは、前記第１のルールセットの前記特定のバージョンの１つ又は複数のルールに従って前記入力記録を処理し、前記出力を生成する前記アプリケーションプログラムの実行の前記シミュレーションを処理し、
前記ビジネスプロセス管理モジュールは、前記第１の状態から前記第２の状態への前記第１のルールセットの前記特定のバージョンの前記遷移を処理し、
前記ソースコード制御モジュールは、前記第１のルールセットの前記特定のバージョンの返却及び借り出しを処理する、請求項２０に記載の方法。
【請求項２５】
データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールを管理するコンピュータプログラムを記憶するコンピュータ可読媒体であって、前記コンピュータプログラムは、コンピュータシステムに、
ルールセットの編集、シミュレーション、ビジネスプロセス管理、及びバージョン制御を可能にする統合アプリケーション開発システムにユーザがアクセスできるようにする統合ユーザインターフェースを提供することであって、各ルールセットは１つ又は複数のルールを含み、各ルールは、前記ルールの入力に応じて前記ルールの出力の値を計算する１つ又は複数のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が前記１つ又は複数の入力関係を満たす場合、ルールケースが前記所与の入力記録によりトリガーされる、提供することと、
第１のルールセットの複数のバージョンをリポジトリに記憶することと、
前記第１のルールセットの前記複数のバージョンについての情報を有する少なくとも１つのログデータオブジェクトを前記リポジトリに記憶することと、
前記統合ユーザインターフェースの第１のユーザインターフェースを通して、第１のユーザ識別子が関連付けられた第１のユーザから命令を受信することと、
前記第１のユーザからの前記命令に応答して、
前記リポジトリに記憶された前記第１のルールセットの複数のバージョンから前記第１のルールセットの特定のバージョンを選択することと、
前記第１のルールセットの前記特定のバージョンを編集することと、
アプリケーションプログラムに前記第１のルールセットの前記特定のバージョンを関連付け、前記第１のルールセットの前記特定のバージョンのルールに従って前記アプリケーションプログラムの実行をシミュレートして、入力記録を処理し、出力を生成することと、
前記第１のルールセットの前記特定のバージョンを複数の状態の第１の状態から前記複数の状態の第２の状態に遷移させることと
を行わせる命令を含む、コンピュータ可読媒体。
【請求項２６】
アプリケーションプログラムと併用する１つ又は複数のルールを管理するシステムであって、
１つ又は複数のルールを記憶するデータ記憶システムと、
グラフィカルユーザインターフェースを提供する少なくとも１つの出力デバイス又はポートと、
前記データ記憶システム及び前記少なくとも１つの出力デバイス又はポートに結合されたコンピュータシステムであって、
ルールセットの編集、シミュレーション、ビジネスプロセス管理、及びバージョン制御を可能にする統合アプリケーション開発システムにユーザがアクセスできるようにする統合ユーザインターフェースを提供する回路であって、各ルールセットは１つ又は複数のルールを含み、各ルールは、前記ルールの入力に応じて前記ルールの出力の値を計算する１つ又は複数のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が前記１つ又は複数の入力関係を満たす場合、ルールケースが前記所与の入力記録によりトリガーされる、提供する回路と、
第１のルールセットの複数のバージョンをリポジトリに記憶する回路と、
前記第１のルールセットの前記複数のバージョンについての情報を有する少なくとも１つのログデータオブジェクトを前記リポジトリに記憶する回路と、
前記統合ユーザインターフェースの第１のユーザインターフェースを通して、第１のユーザ識別子が関連付けられた第１のユーザから命令を受信する回路と、
前記第１のユーザからの前記命令に応答して、
前記リポジトリから前記第１のルールセットの特定のバージョンを選択する回路と、
前記第１のルールセットの前記特定のバージョンを編集する回路と、
アプリケーションプログラムに前記第１のルールセットの前記特定のバージョンを関連付け、前記第１のルールセットの前記特定のバージョンのルールに従って前記アプリケーションプログラムの実行をシミュレートして、入力記録を処理し、出力を生成する回路と、
前記第１のルールセットの前記特定のバージョンを複数の状態の第１の状態から前記複数の状態の第２の状態に遷移させる回路と
を含む、システム。
【請求項２７】
アプリケーションプログラムと併用する１つ又は複数のルールを管理するシステムであって、
ルールセットの編集、シミュレーション、ビジネスプロセス管理、及びバージョン制御を可能にする統合アプリケーション開発システムにユーザがアクセスできるようにする統合ユーザインターフェースを提供する手段であって、各ルールセットは１つ又は複数のルールを含み、各ルールは、前記ルールの入力に応じて前記ルールの出力の値を計算する１つ又は複数のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が前記１つ又は複数の入力関係を満たす場合、ルールケースが前記所与の入力記録によりトリガーされる、提供する手段と、
第１のルールセットの複数のバージョン及び前記第１のルールセットの前記複数のバージョンについての情報を有する少なくとも１つのログデータオブジェクトを記憶するリポジトリと、
第１のユーザ識別子が関連付けられた第１のユーザから命令を受信する前記統合ユーザインターフェースの第１のユーザインターフェースと、
前記第１のユーザからの前記命令に応答して、前記リポジトリに記憶された前記第１のルールセットの複数のバージョンから前記第１のルールセットの特定のバージョンを選択する手段と、
前記第１のユーザからの前記命令に応答して、前記第１のルールセットの前記特定のバージョンを編集する手段と、
前記第１のユーザからの前記命令に応答して、アプリケーションプログラムに前記第１のルールセットの前記特定のバージョンを関連付ける手段と、
前記第１のユーザからの前記命令に応答して、前記第１のルールセットの前記特定のバージョンのルールに従って前記アプリケーションプログラムの実行をシミュレートして、入力記録を処理し、出力を生成する手段と、
前記第１のユーザからの前記命令に応答して、前記第１のルールセットの前記特定のバージョンを複数の状態の第１の状態から前記複数の状態の第２の状態に遷移させる手段と
を含む、システム。
【請求項２８】
データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールコンテナを管理するコンピュータ実施方法であって、
ルールコンテナのバージョン制御及びビジネスプロセス管理を可能にする統合アプリケーション開発システムにユーザがアクセスできるようにする統合ユーザインターフェースを提供することであって、各ルールコンテナは２つ以上のルールセットを含み、各ルールセットは１つ又は複数のルールを含み、各ルールは、前記ルールの入力に応じて前記ルールの出力の値を計算する１つ又は複数のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が前記１つ又は複数の入力関係を満たす場合、ルールケースが前記所与の入力記録によりトリガーされる、提供することと、
第１のルールコンテナの複数のバージョンをリポジトリに記憶することと、
前記第１のルールコンテナの前記複数のバージョンについての情報を有する少なくとも１つのログデータオブジェクトを前記リポジトリに記憶することと、
前記統合ユーザインターフェースの第１のユーザインターフェースを通して、第１のユーザ識別子が関連付けられた第１のユーザから命令を受信することと、
前記第１のユーザからの前記命令に応答して、
前記リポジトリに記憶された前記第１のルールコンテナの複数のバージョンから前記第１のルールコンテナの特定のバージョンを選択することと、
前記第１のルールコンテナの前記特定のバージョンを複数の状態の第１の状態から前記複数の状態の第２の状態に遷移させることと、
前記第１のルールコンテナの前記特定のバージョンが関連付けられたログデータオブジェクトに、
（ｉ）前記第１のユーザ識別子が関連付けられたユーザが、前記リポジトリから前記第１のルールコンテナの前記特定のバージョンを選択し、前記第１のユーザ識別子が関連付けられた前記ユーザが、前記第１の状態から前記第２の状態への前記第１のルールコンテナの前記特定のバージョンの前記遷移を承認したことを指定する情報、又は
（ｉｉ）前記リポジトリからの前記第１のルールコンテナの前記特定のバージョンの前記選択に第１のタイムスタンプが関連付けられ、前記第１の状態から前記第２の状態への前記第１のルールコンテナの前記特定のバージョンの前記遷移に第２のタイムスタンプが関連付けられることを指定する情報
の少なくとも１つを記憶することと、
を含む、方法。
【請求項２９】
前記統合ユーザインターフェースを通して、第２のユーザ識別子が関連付けられた第２のユーザから第２の命令を受信することと、
前記第２のユーザからの前記第２の命令に応答して、
前記リポジトリに記憶された複数のコンテナから２つ以上のルールセットの群を選択することであって、各ルールコンテナは、前記ルールコンテナの複数のバージョンから選択された前記ルールコンテナの特定のバージョンである、選択することと、
前記選択されたルールコンテナの群にリリースタグを関連付けることと、
前記統合ユーザインターフェースを通して、第３のユーザ識別子が関連付けられた第３のユーザから第３の命令を受信することと、
前記第３のユーザからの前記第３の命令に応答して、
前記リリースタグを複数の状態の第１の状態から前記複数の状態の第２の状態に遷移させることと、
を含む、請求項２８に記載の方法。
【請求項３０】
前記リリースタグが関連付けられたログデータオブジェクトに、
（ｉ）前記第２のユーザ識別子が関連付けられたユーザが前記ルールコンテナの群を選択し、前記第３のユーザ識別子が関連付けられた前記ユーザが、前記第１の状態から前記第２の状態へのリリースタグの前記遷移を承認したことを指定する情報、又は
（ｉｉ）前記ルールコンテナの群の前記選択に第３のタイムスタンプが関連付けられ、前記第１の状態から前記第２の状態への前記リリースタグの前記遷移に第４のタイムスタンプが関連付けられることを指定する情報
の少なくとも一方を記憶することを含む、請求項２９に記載の方法。
【請求項３１】
前記第１の状態は、前記第１のルールコンテナが、なお編集中のドラフトであることを示し、前記第２の状態は、前記第１のルールコンテナがレビューアによるレビュー可能な状態であることを示す、請求項２８に記載の方法。
【請求項３２】
前記第１の状態は、前記第１のルールコンテナが、前記第１のルールコンテナのリリースを承認する権限を有するユーザによるレビューが可能な状態であることを示し、前記第２の状態は、前記第１のルールコンテナが完成し、リリース可能な状態であることを示す、請求項２８に記載の方法。
【請求項３３】
各ルールセットは、入力データを出力データに変換するソフトウェアモジュール又はデータ処理エンティティの少なくとも一方に対応する、請求項２８に記載の方法。
【請求項３４】
前記第１のルールコンテナの前記特定のバージョンは、前記第１のルールコンテナの前記特定のバージョンにおける前記ルールセットのそれぞれへのポインタを含む、請求項２８に記載の方法。
【請求項３５】
前記第１のユーザからの前記命令に応答して、第２のルールコンテナの特定のバージョン内のルールセットを「オープン」状態から「提出済み」状態に遷移させることであって、前記「オープン」状態は、前記ルールセットがなお編集中であるドラフトであることを示し、前記「提出済み」状態は、前記ルールセットがレビュー可能な状態であることを示す、遷移させることを含む、請求項２８に記載の方法。
【請求項３６】
前記第２のルールコンテナの前記特定のバージョン内の前記ルールセットの前記状態の遷移から独立して、前記第２のルールコンテナの前記特定のバージョンの前記状態を遷移させることを含む、請求項３５に記載の方法。
【請求項３７】
前記第２のルールコンテナの前記特定のバージョンが前記「オープン」状態であり、前記第２のルールコンテナの前記特定のバージョン内の前記ルールセットの全てが前記「提出済み」状態であると判断することと、
前記第２のルールコンテナの前記特定のバージョンが前記「オープン」状態であり、前記第２のルールコンテナの前記特定のバージョン内の前記ルールセットの全てが前記「提出済み」状態であると判断することに応答して、前記第２のルールコンテナの前記特定のバージョンを前記「オープン」状態から前記「提出済み」状態に自動的に遷移させることと
を含む、請求項３５に記載の方法。
【請求項３８】
第２のユーザからの命令に応答して、前記第２のルールコンテナの前記特定のバージョン内の前記ルールセットの１つを「承認済み」状態から前記「オープン」状態に遷移させることと、
前記第２のルールコンテナの前記特定のバージョン内の前記ルールセットの１つを「承認済み」状態から前記「オープン」状態に遷移することに応答して、前記第２のルールコンテナの前記特定のバージョンを前記「承認済み」状態から前記「オープン」状態に自動的に遷移させることと
を含む、請求項３７に記載の方法。
【請求項３９】
前記統合アプリケーション開発システムは、ソースコード制御モジュール及びビジネスプロセス管理モジュールを含み、前記ソースコード制御モジュールは、前記第１のルールコンテナの前記特定のバージョンの返却及び借り出しを処理し、前記ビジネスプロセス管理モジュールは、前記第１の状態から前記第２の状態への前記第１のルールコンテナの前記特定のバージョンの前記遷移を処理する、請求項２８に記載の方法。
【請求項４０】
前記ソースコード制御モジュールは、（ｉ）前記第１のユーザが、前記リポジトリから前記第１のルールコンテナの前記特定のバージョンを選択したことを指定する情報、又は（ｉｉ）前記リポジトリからの前記第１のルールコンテナの前記特定のバージョンの前記選択には前記第１のタイムスタンプが関連付けられることを指定する情報の少なくとも一方の前記ログデータオブジェクトへの前記記憶を処理し、
前記ビジネスプロセス管理モジュールは、（ｉ）前記第１のユーザが、前記第１の状態から前記第２の状態への前記第１のルールコンテナの前記特定のバージョンの前記遷移を承認したことを指定する情報、又は（ｉｉ）前記第１の状態から前記第２の状態への前記第１のルールコンテナの前記特定のバージョンの前記遷移には前記第２のタイムスタンプが関連付けられることを指定する情報の少なくとも一方の前記ログデータオブジェクトへの前記記憶を処理する、請求項３９に記載の方法。
【請求項４１】
前記統合ユーザインターフェースの第２のユーザインターフェースを通して、第２のユーザ識別子が関連付けられた第２のユーザから命令を受信することと、
前記第２のユーザからの前記命令に応答して、
前記リポジトリに記憶された前記第１のルールコンテナの複数のバージョンから前記第１のルールコンテナの前記特定のバージョンを選択することと、
実行することであって、
（ｉ）アプリケーションプログラムに前記第１のルールコンテナの前記特定のバージョンを関連付け、前記第１のルールコンテナの前記特定のバージョンの前記ルールセットのルールに従って前記アプリケーションプログラムの実行をシミュレートして、入力記録を処理し、出力を生成すること又は
（ｉｉ）前記第１のルールコンテナの前記特定のバージョンの前記ルールセットのルールに従って入力記録を処理して、前記出力を生成するアプリケーションプログラムの実行の前のシミュレーションから生成された、記憶された出力を検索すること
の少なくとも一方を実行することと、
を含む、請求項２８に記載の方法。
【請求項４２】
前記第１のルールコンテナの前記特定のバージョンが関連付けられた前記ログデータオブジェクトに、
（ｉ）前記第２のユーザ識別子が関連付けられたユーザが、前記リポジトリから前記第１のルールコンテナの前記特定のバージョンを選択し、前記第２のユーザ識別子が関連付けられた前記ユーザが、前記第１のルールコンテナの前記特定のバージョンを使用して前記アプリケーションプログラムの実行をシミュレートして、出力を生成したことを指定する情報、
（ｉｉ）前記第２のユーザ識別子が関連付けられたユーザが、前記リポジトリから前記第１のルールコンテナの前記特定のバージョンを選択し、前記第２のユーザ識別子が関連付けられた前記ユーザが、前記第１のルールコンテナの前記特定のバージョンを使用した前記アプリケーションプログラムの実行の前のシミュレーションから生成された、記憶された出力を検索したことを指定する情報、
（ｉｉｉ）前記リポジトリからの前記第１のルールコンテナの前記特定のバージョンの前記選択に、第３のタイムスタンプが関連付けられ、前記第１のルールコンテナの前記特定のバージョンを使用して出力を生成する前記アプリケーションプログラムの前記実行の前記シミュレーションに第４のタイムスタンプが関連付けられることを指定する情報、
（ｉｖ）前記リポジトリからの前記第１のルールコンテナの前記特定のバージョンの前記選択に、第３のタイムスタンプが関連付けられ、前記第１のルールコンテナの前記特定のバージョンを使用した前記アプリケーションプログラムの実行の前のシミュレーションから生成された、記憶された出力の前記検索に第４のタイムスタンプが関連付けられることを指定する情報
の少なくとも１つを記憶することを含む、請求項４１に記載の方法。
【請求項４３】
前記統合アプリケーション開発システムは、ソースコード制御モジュール及びシミュレーションモジュールを含み、前記ソースコード制御モジュールは、
（ｉ）前記第２のユーザ識別子が関連付けられたユーザが、前記リポジトリから前記第１のルールコンテナの前記特定のバージョンを選択したことを指定する情報、又は
（ｉｉ）前記リポジトリからの前記第１のルールコンテナの前記特定のバージョンの前記選択に前記第１のタイムスタンプが関連付けられることを指定する情報
の少なくとも一方の前記ログデータオブジェクトへの前記記憶を処理し、
前記シミュレーションモジュールは、
（ｉ）前記第２のユーザ識別子が関連付けられたユーザが、前記第１のルールコンテナの前記特定のバージョンを使用して出力を生成する前記アプリケーションプログラムの実行をシミュレートしたことを指定する情報、
（ｉｉ）前記第２のユーザ識別子が関連付けられたユーザが、前記第１のルールコンテナの前記特定のバージョンを使用した前記アプリケーションプログラムの実行の前のシミュレーションから生成された、記憶された出力を検索することを指定する情報、
（ｉｉｉ）前記第１のルールコンテナの前記特定のバージョンを使用して出力を生成する前記アプリケーションプログラムの実行の前記シミュレーションに前記第２のタイムスタンプが関連付けられることを指定する情報、又は
（ｉｖ）前記第１のルールコンテナの前記特定のバージョンを使用した前記アプリケーションプログラムの実行の前のシミュレーションから生成された、記憶された出力の前記検索に前記第２のタイムスタンプが関連付けられることを指定する情報
の少なくとも１つの前記ログデータオブジェクトへの前記記録を処理する、請求項４２に記載の方法。
【請求項４４】
前記統合アプリケーション開発システムは、ソースコード制御モジュール及びシミュレーションモジュールを含み、前記ソースコード制御モジュールは、前記第１のルールコンテナの前記特定のバージョンの返却及び借り出しを処理し、前記シミュレーションモジュールは、前記第１のルールコンテナの前記特定のバージョンの前記ルールに従って入力記録を処理し、出力を生成する前記アプリケーションプログラムの実行の前記シミュレーションを処理する、請求項４１に記載の方法。
【請求項４５】
前記第１のユーザインターフェースは、前記第１のユーザのコンピュータ端末において提供され、前記第２のユーザインターフェースは、前記第２のユーザのコンピュータ端末において提供される、請求項４１に記載の方法。
【請求項４６】
前記第１のユーザからの前記命令に応答して、前記第１のルールコンテナの前記特定のバージョンを編集することと、
前記第１のルールコンテナの前記編集された特定のバージョンを前記リポジトリに記憶することと、
前記第１のルールコンテナの前記特定のバージョンに関連付けられた前記ログデータオブジェクトに、
（ｉ）前記第１のユーザが前記第１のルールコンテナの前記特定のバージョンを編集したことを指定する情報、又は
（ｉｉ）前記第１のルールコンテナの前記特定のバージョンの前記変更に第３のタイムスタンプが関連付けられることを指定する情報
の少なくとも一方を記憶することと、
を含む、請求項２８に記載の方法。
【請求項４７】
前記統合アプリケーション開発システムは、ソースコード制御モジュール、ビジネスプロセス管理モジュール、及びルールエディタを含み、
前記ソースコード制御モジュールは、前記第１のルールコンテナの前記特定のバージョンの前記返却及び借り出しを処理し、
前記ビジネスプロセス管理モジュールは、前記第１の状態から前記第２の状態への前記第１のルールコンテナの前記特定のバージョンの前記遷移を処理し、
前記ルールエディタは、前記第１のルールコンテナの前記特定のバージョンの前記編集を処理する、請求項４６に記載の方法。
【請求項４８】
データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールコンテナを管理するコンピュータプログラムを記憶するコンピュータ可読媒体であって、前記コンピュータプログラムは、コンピュータシステムに、
ルールコンテナのバージョン制御及びビジネスプロセス管理を可能にする統合アプリケーション開発システムにユーザがアクセスできるようにする統合ユーザインターフェースを提供することであって、各ルールコンテナは２つ以上のルールセットを含み、各ルールセットは１つ又は複数のルールを含み、各ルールは、前記ルールの入力に応じて前記ルールの出力の値を計算する１つ又は複数のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が前記１つ又は複数の入力関係を満たす場合、ルールケースが前記所与の入力記録によりトリガーされる、提供することと、
第１のルールコンテナの複数のバージョンをリポジトリに記憶することと、
前記第１のルールコンテナの前記複数のバージョンについての情報を有する少なくとも１つのログデータオブジェクトを前記リポジトリに記憶することと、
前記統合ユーザインターフェースの第１のユーザインターフェースを通して、第１のユーザ識別子が関連付けられた第１のユーザから命令を受信することと、
前記第１のユーザからの前記命令に応答して、
前記リポジトリに記憶された前記第１のルールコンテナの複数のバージョンから前記第１のルールコンテナの特定のバージョンを選択することと、
前記第１のルールコンテナの前記特定のバージョンを複数の状態の第１の状態から前記複数の状態の第２の状態に遷移させることと、
前記第１のルールコンテナの前記特定のバージョンが関連付けられたログデータオブジェクトに、
（ｉ）前記第１のユーザ識別子が関連付けられたユーザが、前記リポジトリから前記第１のルールコンテナの前記特定のバージョンを選択し、前記第１のユーザ識別子が関連付けられた前記ユーザが、前記第１の状態から前記第２の状態への前記第１のルールコンテナの前記特定のバージョンの前記遷移を承認したことを指定する情報、又は
（ｉｉ）前記リポジトリからの前記第１のルールコンテナの前記特定のバージョンの前記選択に第１のタイムスタンプが関連付けられ、前記第１の状態から前記第２の状態への前記第１のルールコンテナの前記特定のバージョンの前記遷移に第２のタイムスタンプが関連付けられることを指定する情報
の少なくとも一方を記憶することと、
を行わせる命令を含む、コンピュータ可読媒体。
【請求項４９】
アプリケーションプログラムと併用する１つ又は複数のルールコンテナを管理するシステムであって、
１つ又は複数のルールコンテナを記憶するデータ記憶システムと、
グラフィカルユーザインターフェースを提供する少なくとも１つの出力デバイス又はポートと、
前記データ記憶システム及び前記少なくとも１つの出力デバイス又はポートに結合されるコンピュータシステムであって、
ルールコンテナのバージョン制御及びビジネスプロセス管理を可能にする統合アプリケーション開発システムにユーザがアクセスできるようにする統合ユーザインターフェースを提供する回路であって、各ルールコンテナは２つ以上のルールセットを含み、各ルールセットは１つ又は複数のルールを含み、各ルールは、前記ルールの入力に応じて前記ルールの出力の値を計算する１つ又は複数のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が前記１つ又は複数の入力関係を満たす場合、ルールケースが前記所与の入力記録によりトリガーされる、提供する回路と、
第１のルールコンテナの複数のバージョンをリポジトリに記憶する回路と、
前記第１のルールコンテナの前記複数のバージョンについての情報を有する少なくとも１つのログデータオブジェクトを前記リポジトリに記憶する回路と、
前記統合ユーザインターフェースの第１のユーザインターフェースを通して、第１のユーザ識別子が関連付けられた第１のユーザから命令を受信する回路と、
前記第１のユーザからの前記命令に応答して、
前記リポジトリから前記第１のルールコンテナの特定のバージョンを選択する回路と、
前記第１のルールコンテナの前記特定のバージョンを複数の状態の第１の状態から前記複数の状態の第２の状態に遷移させる回路と、
前記第１のルールコンテナの前記特定のバージョンが関連付けられたログデータオブジェクトに、
（ｉ）前記第１のユーザ識別子が関連付けられたユーザが、前記リポジトリから前記第１のルールコンテナの前記特定のバージョンを選択し、前記第１のユーザ識別子が関連付けられた前記ユーザが、前記第１の状態から前記第２の状態への前記第１のルールコンテナの前記特定のバージョンの前記遷移を承認したことを指定する情報、又は
（ｉｉ）前記リポジトリからの前記第１のルールコンテナの前記特定のバージョンの前記選択に第１のタイムスタンプが関連付けられ、前記第１の状態から前記第２の状態への前記第１のルールコンテナの前記特定のバージョンの前記遷移に第２のタイムスタンプが関連付けられることを指定する情報
の少なくとも一方を記憶する回路と、
を含む、コンピュータシステムと
を含む、システム。
【請求項５０】
アプリケーションプログラムと併用する１つ又は複数のルールを管理するシステムであって、
ルールコンテナのバージョン制御及びビジネスプロセス管理を可能にする統合アプリケーション開発システムにユーザがアクセスできるようにする統合ユーザインターフェースを提供する手段であって、各ルールコンテナは２つ以上のルールセットを含み、各ルールセットは１つ又は複数のルールを含み、各ルールは、前記ルールの入力に応じて前記ルールの出力の値を計算する１つ又は複数のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が前記１つ又は複数の入力関係を満たす場合、ルールケースが前記所与の入力記録によりトリガーされる、提供する手段と、
第１のルールコンテナの複数のバージョン及び前記第１のルールコンテナの前記複数のバージョンについての情報を有する少なくとも１つのログデータオブジェクトを記憶するリポジトリと、
第１のユーザ識別子が関連付けられた第１のユーザから命令を受信する前記統合ユーザインターフェースの第１のユーザインターフェースと、
前記第１のユーザからの前記命令に応答して、前記リポジトリから前記第１のルールコンテナの特定のバージョンを選択する手段と、
前記第１のユーザからの前記命令に応答して、前記第１のルールコンテナの前記特定のバージョンを複数の状態の第１の状態から前記複数の状態の第２の状態に遷移させる手段と、
前記第１のルールコンテナの前記特定のバージョンが関連付けられたログデータオブジェクトに、
（ｉ）前記第１のユーザ識別子が関連付けられたユーザが、前記リポジトリから前記第１のルールコンテナの前記特定のバージョンを選択し、前記第１のユーザ識別子が関連付けられた前記ユーザが、前記第１の状態から前記第２の状態への前記第１のルールコンテナの前記特定のバージョンの前記遷移を承認したことを指定する情報、又は
（ｉｉ）前記リポジトリからの前記第１のルールコンテナの前記特定のバージョンの前記選択に第１のタイムスタンプが関連付けられ、前記第１の状態から前記第２の状態への前記第１のルールコンテナの前記特定のバージョンの前記遷移に第２のタイムスタンプが関連付けられることを指定する情報
の少なくとも一方を記憶する手段と、
を含む、システム。
【請求項５１】
データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールを管理するコンピュータ実施方法であって、
ルールコンテナの編集、シミュレーション、ビジネスプロセス管理、及びバージョン制御を可能にする統合アプリケーション開発システムにユーザがアクセスできるようにする統合ユーザインターフェースを提供することであって、各ルールコンテナは２つ以上のルールセットを含み、各ルールセットは１つ又は複数のルールを含み、各ルールは、前記ルールの入力に応じて前記ルールの出力の値を計算する１つ又は複数のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が前記１つ又は複数の入力関係を満たす場合、ルールケースが前記所与の入力記録によりトリガーされる、提供することと、
第１のルールコンテナの複数のバージョンをリポジトリに記憶することと、
前記第１のルールコンテナの前記複数のバージョンについての情報を有する少なくとも１つのログデータオブジェクトを前記リポジトリに記憶することと、
前記統合ユーザインターフェースの第１のユーザインターフェースを通して、第１のユーザ識別子が関連付けられた第１のユーザから命令を受信することと、
前記第１のユーザからの前記命令に応答して、
前記リポジトリに記憶された前記第１のルールコンテナの複数のバージョンから前記第１のルールコンテナの特定のバージョンを選択することと、
前記第１のルールコンテナの前記特定のバージョンを編集することと、
アプリケーションプログラムに前記第１のルールコンテナの前記特定のバージョンを関連付け、前記アプリケーションプログラムの実行をシミュレートして、前記第１のルールコンテナの前記特定のバージョンのルールに従って入力記録を処理し、出力を生成することと、
前記第１のルールコンテナの前記特定のバージョンを複数の状態の第１の状態から前記複数の状態の第２の状態に遷移させることと
を含む、方法。
【請求項５２】
前記第１のルールコンテナの前記特定のバージョンに関連付けられたログデータオブジェクトに、
（ｉ）前記第１のユーザ識別子が関連付けられたユーザが、前記リポジトリから前記第１のルールコンテナの前記特定のバージョンを選択し、前記第１のルールコンテナの前記特定のバージョンを編集し、前記第１のルールコンテナの前記特定のバージョンを使用して前記アプリケーションプログラムの実行をシミュレートして、出力を生成し、前記第１の状態から前記第２の状態への前記第１のルールコンテナの前記特定のバージョンの前記遷移を承認したことを指定する情報、又は
（ｉｉ）前記リポジトリからの前記第１のルールコンテナの前記特定のバージョンの前記選択には第１のタイムスタンプが関連付けられ、前記第１のルールコンテナの前記特定のバージョンの前記編集には第２のタイムスタンプが関連付けられ、前記第１のルールコンテナの前記特定のバージョンを使用した前記アプリケーションプログラムの実行の前記シミュレーションには第３のタイムスタンプが関連付けられ、前記第１の状態から前記第２の状態への前記特定のルールコンテナの前記遷移には第４のタイムスタンプが関連付けられることを指定する情報
の少なくとも一方を記憶することを含む、請求項５１に記載の方法。
【請求項５３】
前記統合アプリケーション開発システムは、ルールエディタ、シミュレーションモジュール、ビジネスプロセス管理モジュール、及びソースコード制御モジュールを含み、
前記ルールエディタは、前記第１のユーザ識別子が関連付けられた前記ユーザが前記第１のルールコンテナの前記特定のバージョンを編集したことを指定する情報の前記ログデータオブジェクトへの前記記憶を処理し、
前記シミュレーションモジュールは、前記第１のユーザ識別子が関連付けられた前記ユーザが、前記第１のルールコンテナの前記特定のバージョンを使用した前記アプリケーションプログラムの実行をシミュレートしたことを指定する情報の前記ログデータオブジェクトへの前記記録を処理し、
前記ビジネスプロセス管理モジュールは、前記第１のユーザ識別子が関連付けられた前記ユーザが、前記第１の状態から前記第２の状態への前記第１のルールコンテナの前記特定のバージョンの前記遷移を承認したことを指定する情報の前記ログデータオブジェクトへの前記記憶を処理し、
前記ソースコード制御モジュールは、前記第１のユーザ識別子が関連付けられた前記ユーザが、前記リポジトリから前記第１のルールコンテナの前記特定のバージョンを選択したことを指定する情報の前記ログデータオブジェクトへの前記記憶を処理する、請求項５２に記載の方法。
【請求項５４】
前記統合アプリケーション開発システムは、ルールエディタ、シミュレーションモジュール、ビジネスプロセス管理モジュール、及びソースコード制御モジュールを含み、
前記ソースコード制御モジュールは、前記リポジトリからの前記第１のルールコンテナの前記特定のバージョンの前記選択に前記第１のタイムスタンプが関連付けられることを指定する情報の前記ログデータオブジェクトへの前記記憶を処理し、
前記ルールエディタは、前記第１のルールコンテナの前記特定のバージョンの前記編集に前記第２のタイムスタンプが関連付けられることを指定する情報の前記ログデータオブジェクトへの前記記憶を処理し、
前記シミュレーションモジュールは、前記第１のルールコンテナの前記特定のバージョンを使用した前記アプリケーションプログラムの前記実行の前記シミュレーションには前記第３のタイムスタンプが関連付けられることを指定する情報の前記ログデータオブジェクトへの前記記憶を処理し、
前記ビジネスプロセス管理モジュールは、前記第１の状態から前記第２の状態への前記特定のルールコンテナの前記遷移には前記第４のタイムスタンプが関連付けられることを指定する情報の前記ログデータオブジェクトへの前記記憶を処理する、請求項５２に記載の方法。
【請求項５５】
前記統合アプリケーション開発システムは、ルールエディタ、シミュレーションモジュール、ビジネスプロセス管理モジュール、及びソースコード制御モジュールを含み、
前記ルールエディタは、前記第１のルールコンテナの前記特定のバージョンの編集を処理し、
前記シミュレーションモジュールは、前記第１のルールコンテナの前記特定のバージョンのルールに従って前記入力記録を処理し、前記出力を生成する前記アプリケーションプログラムの前記実行の前記シミュレーションを処理し、
前記ビジネスプロセス管理モジュールは、前記第１の状態から前記第２の状態への前記第１のルールコンテナの前記特定のバージョンの前記遷移を処理し、
前記ソースコード制御モジュールは、前記第１のルールコンテナの前記特定のバージョンの返却及び借り出しを処理する、請求項５１に記載の方法。
【請求項５６】
データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールを管理するコンピュータプログラムを記憶するコンピュータ可読媒体であって、前記コンピュータプログラムは、コンピュータシステムに、
ルールコンテナの編集、シミュレーション、ビジネスプロセス管理、及びバージョン制御を可能にする統合アプリケーション開発システムにユーザがアクセスできるようにする統合ユーザインターフェースを提供することであって、各ルールコンテナは２つ以上のルールセットを含み、各ルールセットは１つ又は複数のルールを含み、各ルールは、前記ルールの入力に応じて前記ルールの出力の値を計算する１つ又は複数のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が前記１つ又は複数の入力関係を満たす場合、ルールケースが前記所与の入力記録によりトリガーされる、提供することと、
第１のルールコンテナの複数のバージョンをリポジトリに記憶することと、
前記第１のルールコンテナの前記複数のバージョンについての情報を有する少なくとも１つのログデータオブジェクトを前記リポジトリに記憶することと、
前記統合ユーザインターフェースの第１のユーザインターフェースを通して、第１のユーザ識別子が関連付けられた第１のユーザから命令を受信することと、
前記第１のユーザからの前記命令に応答して、
前記リポジトリに記憶された前記第１のルールコンテナの複数のバージョンから前記第１のルールコンテナの特定のバージョンを選択することと、
前記第１のルールコンテナの前記特定のバージョンを編集することと、
アプリケーションプログラムに前記第１のルールコンテナの前記特定のバージョンを関連付け、前記第１のルールコンテナの前記特定のバージョンのルールに従って前記アプリケーションプログラムの実行をシミュレートして、入力記録を処理し、出力を生成することと、
前記第１のルールコンテナの前記特定のバージョンを複数の状態の第１の状態から前記複数の状態の第２の状態に遷移させることと
を行わせる命令を含む、コンピュータ可読媒体。
【請求項５７】
アプリケーションプログラムと併用する１つ又は複数のルールコンテナを管理するシステムであって、
１つ又は複数のルールを記憶するデータ記憶システムと、
グラフィカルユーザインターフェースを提供する少なくとも１つの出力デバイス又はポートと、
前記データ記憶システム及び前記少なくとも１つの出力デバイス又はポートに結合されるコンピュータシステムであって、
ルールコンテナの編集、シミュレーション、ビジネスプロセス管理、及びバージョン制御を可能にする統合アプリケーション開発システムにユーザがアクセスできるようにする統合ユーザインターフェースを提供する回路であって、各ルールコンテナは２つ以上のルールセットを含み、各ルールセットは１つ又は複数のルールを含み、各ルールは、前記ルールの入力に応じて前記ルールの出力の値を計算する１つ又は複数のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が前記１つ又は複数の入力関係を満たす場合、ルールケースが前記所与の入力記録によりトリガーされる、提供する回路と、
第１のルールコンテナの複数のバージョンをリポジトリに記憶する回路と、
前記第１のルールコンテナの前記複数のバージョンについての情報を有する少なくとも１つのログデータオブジェクトを前記リポジトリに記憶する回路と、
前記統合ユーザインターフェースの第１のユーザインターフェースを通して、第１のユーザ識別子が関連付けられた第１のユーザから命令を受信する回路と、
前記第１のユーザからの前記命令に応答して、
前記リポジトリから前記第１のルールコンテナの特定のバージョンを選択する回路と、
前記第１のルールコンテナの前記特定のバージョンを編集する回路と、
アプリケーションプログラムに前記第１のルールコンテナの前記特定のバージョンを関連付け、前記第１のルールコンテナの前記特定のバージョンのルールに従って前記アプリケーションプログラムの実行をシミュレートして、入力記録を処理し、出力を生成する回路と、
前記第１のルールコンテナの前記特定のバージョンを複数の状態の第１の状態から前記複数の状態の第２の状態に遷移させる回路と
を含む、コンピュータシステムと
を含む、システム。
【請求項５８】
アプリケーションプログラムと併用する１つ又は複数のルールを管理するシステムであって、
ルールコンテナの編集、シミュレーション、ビジネスプロセス管理、及びバージョン制御を可能にする統合アプリケーション開発システムにユーザがアクセスできるようにする統合ユーザインターフェースを提供する手段であって、各ルールコンテナは２つ以上のルールセットを含み、各ルールセットは１つ又は複数のルールを含み、各ルールは、前記ルールの入力に応じて前記ルールの出力の値を計算する１つ又は複数のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が前記１つ又は複数の入力関係を満たす場合、ルールケースが前記所与の入力記録によりトリガーされる、提供する手段と、
第１のルールコンテナの複数のバージョン及び前記第１のルールコンテナの前記複数のバージョンについての情報を有する少なくとも１つのログデータオブジェクトを記憶するリポジトリと、
第１のユーザ識別子が関連付けられた第１のユーザから命令を受信する前記統合ユーザインターフェースの第１のユーザインターフェースと、
前記第１のユーザからの前記命令に応答して、前記リポジトリに記憶された前記第１のルールコンテナの複数のバージョンから前記第１のルールコンテナの特定のバージョンを選択する手段と、
前記第１のユーザからの前記命令に応答して、前記第１のルールコンテナの前記特定のバージョンを編集する手段と、
前記第１のユーザからの前記命令に応答して、アプリケーションプログラムに前記第１のルールコンテナの前記特定のバージョンを関連付ける手段と、
前記第１のユーザからの前記命令に応答して、前記第１のルールコンテナの前記特定のバージョンのルールに従って前記アプリケーションプログラムの実行をシミュレートして、入力記録を処理し、出力を生成する手段と、
前記第１のユーザからの前記命令に応答して、前記第１のルールコンテナの前記特定のバージョンを複数の状態の第１の状態から前記複数の状態の第２の状態に遷移させる手段と
を含む、システム。
【請求項５９】
データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールを管理するコンピュータ実施方法であって、
ルールコンテナの編集、ビジネスプロセス管理、及びバージョン制御を可能にする統合アプリケーション開発システムにユーザがアクセスできるようにする統合ユーザインターフェースを提供することであって、各ルールコンテナは２つ以上のルールセットを含み、各ルールセットは１つ又は複数のルールを含み、各ルールは、前記ルールの入力に応じて前記ルールの出力の値を計算する１つ又は複数のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が前記１つ又は複数の入力関係を満たす場合、ルールケースが前記所与の入力記録によりトリガーされる、提供することと、
第１のルールコンテナの複数のバージョンをリポジトリに記憶することと、
前記第１のルールコンテナの前記複数のバージョンについての情報を有する少なくとも１つのログデータオブジェクトを前記リポジトリに記憶することと、
前記統合ユーザインターフェースの第１のユーザインターフェースを通して、第１のユーザ識別子が関連付けられた第１のユーザから命令を受信することと、
前記第１のユーザからの前記命令に応答して、
前記リポジトリに記憶された前記第１のルールの複数のバージョンから前記第１のルールの特定のバージョンを選択することであって、前記第１のルールの前記特定のバージョンは、第１のルールコンテナに含まれる、選択することと、
前記第１のルールの前記特定のバージョンを編集することと、
前記第１のルールの前記特定のバージョンに「承認済み」状態又は最終状態を割り当てることであって、前記「承認済み」状態又は前記最終状態は、前記第１のルールの前記特定のバージョンを更に編集する必要がないこと又は更に編集することができないことを示す、割り当てることと、
前記第１のルールの前記特定のバージョンに前記「承認済み」状態又は前記最終状態が割り当てられた後、「オープン」状態又は前記「オープン」状態と同等の状態である前記第１のルールコンテナのバージョンが存在すると自動的に判断することであって、前記「オープン」状態は、前記第１のルールコンテナが、なお編集可能なドラフトモードであることを示す、自動的に判断することと、
「オープン」状態又は前記「オープン」状態と同等の状態である前記第１のルールコンテナのバージョンがあるとの前記判断に応答して、前記「オープン」状態又は前記「オープン」状態と同等の状態である前記第１のルールコンテナの前記バージョンに前記第１のルールの前記特定のバージョンを追加することと
を含む、方法。
【請求項６０】
前記第１のユーザからの前記命令に応答して、前記第１のルールの前記特定のバージョンに「承認済み」状態又は前記最終状態が割り当てられた後、前記「オープン」状態又は前記「オープン」状態と同等の状態である前記第１のルールコンテナのバージョンが存在しないと自動的に判断することと、
前記「オープン」状態又は前記「オープン」状態と同等の状態である前記第１のルールコンテナのバージョンが存在しないとの前記判断に応答して、自動的に、前記第１のルールコンテナの新規バージョンを生成し、前記第１のルールコンテナの前記新規バージョンに「オープン」状態を割り当て、前記第１のルールの前記特定のバージョンを前記第１のルールコンテナの前記新規バージョンに追加することと
を含む、請求項５９に記載の方法。
【請求項６１】
データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールコンテナを管理するコンピュータプログラムを記憶するコンピュータ可読媒体であって、前記コンピュータプログラムは、コンピュータシステムに、
ルールコンテナの編集、ビジネスプロセス管理、及びバージョン制御を可能にする統合アプリケーション開発システムにユーザがアクセスできるようにする統合ユーザインターフェースを提供することであって、各ルールコンテナは２つ以上のルールセットを含み、各ルールセットは１つ又は複数のルールを含み、各ルールは、前記ルールの入力に応じて前記ルールの出力の値を計算する１つ又は複数のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が前記１つ又は複数の入力関係を満たす場合、ルールケースが前記所与の入力記録によりトリガーされる、提供することと、
第１のルールコンテナの複数のバージョンをリポジトリに記憶することと、
前記第１のルールコンテナの前記複数のバージョンについての情報を有する少なくとも１つのログデータオブジェクトを前記リポジトリに記憶することと、
前記統合ユーザインターフェースの第１のユーザインターフェースを通して、第１のユーザ識別子が関連付けられた第１のユーザから命令を受信することと、
前記第１のユーザからの前記命令に応答して、
前記リポジトリに記憶された前記第１のルールの複数のバージョンから前記第１のルールの特定のバージョンを選択することであって、前記第１のルールの前記特定のバージョンは、第１のルールコンテナに含まれる、選択することと、
前記第１のルールの前記特定のバージョンを編集することと、
前記第１のルールの前記特定のバージョンに「承認済み」状態又は最終状態を割り当てることであって、前記「承認済み」状態又は前記最終状態は、前記第１のルールの前記特定のバージョンを更に編集する必要がないこと又は更に編集することができないことを示す、割り当てることと、
前記第１のルールの前記特定のバージョンに前記「承認済み」状態又は前記最終状態が割り当てられた後、「オープン」状態又は前記「オープン」状態と同等の状態である前記第１のルールコンテナのバージョンが存在すると自動的に判断することであって、前記「オープン」状態は、前記第１のルールコンテナが、なお編集可能なドラフトモードであることを示す、自動的に判断することと、
「オープン」状態又は前記「オープン」状態と同等の状態である前記第１のルールコンテナのバージョンがあるとの前記判断に応答して、前記「オープン」状態又は前記「オープン」状態と同等の状態である前記第１のルールコンテナの前記バージョンに前記第１のルールの前記特定のバージョンを追加することと
を行わせる命令を含む、コンピュータ可読媒体。
【請求項６２】
アプリケーションプログラムと併用する１つ又は複数のルールコンテナを管理するシステムであって、
１つ又は複数のルールコンテナを記憶するデータ記憶システムと、
グラフィカルユーザインターフェースを提供する少なくとも１つの出力デバイス又はポートと、
前記データ記憶システム及び前記少なくとも１つの出力デバイス又はポートに結合されるコンピュータシステムであって、
ルールコンテナの編集、シミュレーション、ビジネスプロセス管理、及びバージョン制御を可能にする統合アプリケーション開発システムにユーザがアクセスできるようにする統合ユーザインターフェースを提供する回路であって、各ルールコンテナは２つ以上のルールセットを含み、各ルールセットは１つ又は複数のルールを含み、各ルールは、前記ルールの入力に応じて前記ルールの出力の値を計算する１つ又は複数のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が前記１つ又は複数の入力関係を満たす場合、ルールケースが前記所与の入力記録によりトリガーされる、提供する回路と、
第１のルールコンテナの複数のバージョンをリポジトリに記憶する回路と、
前記第１のルールコンテナの前記複数のバージョンについての情報を有する少なくとも１つのログデータオブジェクトを前記リポジトリに記憶する回路と、
前記統合ユーザインターフェースの第１のユーザインターフェースを通して、第１のユーザ識別子が関連付けられた第１のユーザから命令を受信する回路と、
前記第１のユーザからの前記命令に応答して、
前記リポジトリに記憶された前記第１のルールの複数のバージョンから前記第１のルールの特定のバージョンを選択する回路であって、前記第１のルールの前記特定のバージョンは、第１のルールコンテナに含まれる、選択する回路と、
前記第１のルールの前記特定のバージョンを編集する回路と、
前記第１のルールの前記特定のバージョンに「承認済み」状態又は最終状態を割り当てる回路であって、前記「承認済み」状態又は前記最終状態は、前記第１のルールの前記特定のバージョンを更に編集する必要がないこと又は更に編集することができないことを示す、割り当てる回路と、
前記第１のルールの前記特定のバージョンに前記「承認済み」状態又は前記最終状態が割り当てられた後、「オープン」状態又は前記「オープン」状態と同等の状態である前記第１のルールコンテナのバージョンが存在すると自動的に判断する回路であって、前記「オープン」状態は、前記第１のルールコンテナが、なお編集可能なドラフトモードであることを示す、自動的に判断する回路と、
「オープン」状態又は前記「オープン」状態と同等の状態である前記第１のルールコンテナのバージョンがあるとの前記判断に応答して、前記「オープン」状態又は前記「オープン」状態と同等の状態である前記第１のルールコンテナの前記バージョンに前記第１のルールの前記特定のバージョンを追加する回路と
を含む、コンピュータシステムと
を含む、システム。
【請求項６３】
アプリケーションプログラムと併用する１つ又は複数のルールを管理するシステムであって、
ルールコンテナの編集、シミュレーション、ビジネスプロセス管理、及びバージョン制御を可能にする統合アプリケーション開発システムにユーザがアクセスできるようにする統合ユーザインターフェースを提供する手段であって、各ルールコンテナは２つ以上のルールセットを含み、各ルールセットは１つ又は複数のルールを含み、各ルールは、前記ルールの入力に応じて前記ルールの出力の値を計算する１つ又は複数のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が前記１つ又は複数の入力関係を満たす場合、ルールケースが前記所与の入力記録によりトリガーされる、提供する手段と、
第１のルールの複数のバージョン及び前記第１のルールコンテナの前記複数のバージョンについての情報を有する少なくとも１つのログデータオブジェクトを記憶するリポジトリと、
第１のユーザ識別子が関連付けられた第１のユーザから命令を受信する前記統合ユーザインターフェースの第１のユーザインターフェースと、
前記第１のユーザからの前記命令に応答して、前記リポジトリに記憶された前記第１のルールの複数のバージョンから前記第１のルールの特定のバージョンを選択する手段であって、前記第１のルールの前記特定のバージョンは、第１のルールコンテナに含まれる、選択する手段と、
前記第１のユーザからの前記命令に応答して、前記第１のルールの前記特定のバージョンを編集する手段と、
前記第１のユーザからの前記命令に応答して、前記第１のルールの前記特定のバージョンに「承認済み」状態又は最終状態を割り当てる手段であって、前記「承認済み」状態又は前記最終状態は、前記第１のルールの前記特定のバージョンを更に編集する必要がないこと又は更に編集することができないことを示す、割り当てる手段と、
前記第１のルールの前記特定のバージョンに前記「承認済み」状態又は前記最終状態が割り当てられた後、「オープン」状態又は前記「オープン」状態と同等の状態である前記第１のルールコンテナのバージョンが存在すると自動的に判断する手段であって、前記「オープン」状態は、前記第１のルールコンテナが、なお編集可能なドラフトモードであることを示す、自動的に判断する手段と、
「オープン」状態又は前記「オープン」状態と同等の状態である前記第１のルールコンテナのバージョンがあるとの前記判断に応答して、前記「オープン」状態又は前記「オープン」状態と同等の状態である前記第１のルールコンテナの前記バージョンに前記第１のルールの前記特定のバージョンを追加する手段と
を含む、システム。
【請求項６４】
データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールを管理するコンピュータ実施方法であって、
ルール仕様の返却及び借り出し、前記ルール仕様の編集、及び状態遷移情報の受信を可能にする、統合ユーザインターフェースの第１のユーザインターフェースを提供することと、
前記第１のユーザインターフェースを通して第１のユーザ識別子が関連付けられた第１のユーザから第１の命令を受信することと、
前記第１のユーザからの前記第１の命令に応答して、リポジトリからルール仕様を選択することであって、前記ルール仕様は第１のバージョン番号を有し、１組のルールを含むルールセットを指定し、各ルールは、前記ルールの入力に応じて前記ルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が前記１つ又は複数の入力関係を満たす場合、ルールケースは前記所与の入力記録によりトリガーされる、選択することと、
前記第１のユーザインターフェースを通して前記第１のユーザから編集命令を受信することと、
前記第１のユーザからの前記編集命令に基づいて前記ルール仕様を改訂することと、
前記ルールセットに複数の状態の第１の状態を関連付けることと、
前記第１のユーザインターフェースを通して前記第１のユーザから第２の命令を受信することと、
前記第１のユーザからの前記第２の命令に応答して、第２のバージョン番号を前記ルール仕様に割り当てることと、
前記統合ユーザインターフェースの第２のユーザインターフェースを通して、第２のユーザ識別子が関連付けられた第２のユーザから、前記ルールセットに関連付けられた遷移情報を受信することと、
前記遷移情報及び前記ルールセット及び前記第１の状態に関連付けられた許可された遷移に基づいて、前記ルールセットに前記複数の状態の第２の状態を関連付けることであって、前記第２の状態は前記第１の状態と異なる、関連付けることと、
前記リポジトリに、前記ルール仕様の前記第２のバージョンの変更を前記第１のユーザ識別子に関連付ける第１のデータ及び前記第１の状態から前記第２の状態への前記遷移を前記第２のユーザ識別子に関連付ける第２のデータを記憶することと
を含む、方法。
【請求項６５】
前記ログデータオブジェクトに、前記２のバージョン番号が前記ルール仕様に割り当てられたときを示す第１のタイムスタンプ及び前記現在状態が前記ルール仕様に関連付けられたときを示す第２のタイムスタンプを記憶することを含む、請求項６４に記載の方法。
【請求項６６】
アプリケーションプログラムにルールセットを関連付けることと、
前記ルールセットのルールに従って前記アプリケーションプログラムの実行をシミュレートして、前記入力記録を処理し、前記出力を生成することと
を含み、
前記第１のユーザインターフェース又は前記第２のユーザインターフェースの少なくとも一方はまた、前記ルールセットの前記ルールに従って前記アプリケーションプログラムの前記実行をシミュレートして、記録を処理できるようにもする、請求項６４に記載の方法。
【請求項６７】
前記ルール仕様の複数のバージョンを前記リポジトリに記憶することと、
前記ルール仕様の各バージョンで、前記ルール仕様の最新の変更に関連付けられたユーザ識別子についての情報を有する第１のデータを記憶し、前記ルール仕様により指定された前記ルールセットに関連付けられた現在状態の割り当て又は前の状態から前記現在状態への遷移に関連付けられたユーザ識別子についての情報を有する第２のデータを記憶することと
を含む、請求項６６に記載の方法。
【請求項６８】
前記ルール仕様の各バージョンで、前記ルール仕様が前記リポジトリに返却されたときを示す第１のタイムスタンプ及び前記現在状態が前記ルール仕様に関連付けられたときを示す第２のタイムスタンプを記憶することを含む、請求項６７に記載の方法。
【請求項６９】
前記リポジトリから前記ルール仕様の特定のバージョンを検索することと、
前記ルール仕様の前記特定のバージョンの最新の変更に関連付けられた前記ユーザ識別子と、前記ルール仕様の前記特定のバージョンにより指定された前記ルールセットに関連付けられた前記現在状態の前記割り当て又は前記前の状態から前記現在状態への前記遷移に関連付けられた前記ユーザ識別子とを表示することと
を含む、請求項６７に記載の方法。
【請求項７０】
前記第１のユーザインターフェース又は前記第２のユーザインターフェースの少なくとも一方に、ユーザが前記ルール仕様の特定のバージョンを選択できるようにする第１の表示入力要素を提供することと、
前記第１のユーザインターフェース又は前記第２のユーザインターフェースの少なくとも一方に、ユーザが、前記ルール仕様の前記選択されたバージョンにより指定された前記ルールセットをアプリケーションプログラムに関連付け、前記ルール仕様の前記選択されたバージョンにより指定された前記ルールセットのルールに従って前記アプリケーションプログラムの実行をシミュレートして、入力記録を処理し、出力を生成できるようにする第２の表示入力要素を提供することと
を含む、請求項６７に記載の方法。
【請求項７１】
前記リポジトリに前記ルール仕様の複数のバージョンを記憶することと、
前記ルール仕様の各バージョンで、前記ルール仕様の最新の変更に関連付けられたユーザ識別子についての情報を有する第１のデータを記憶し、前記ルール仕様により指定された前記ルールセットに関連付けられた現在状態の割り当て又は前の状態から前記現在状態への遷移に関連付けられたユーザ識別子についての情報を有する第２のデータを記憶することと
を含む、請求項６４に記載の方法。
【請求項７２】
前記ルール仕様の各バージョンで、前記ルール仕様が前記リポジトリに返却されたときを示す第１のタイムスタンプ及び前記現在状態が前記ルール仕様に関連付けられたときを示す第２のタイムスタンプを記憶することを含む、請求項７１に記載の方法。
【請求項７３】
前記ルール仕様の複数のバージョンを前記リポジトリに記憶することと、
前記ルール仕様の各バージョンで、
１人又は複数のユーザが初期状態を前記ルールセットに割り当てるか、又はある状態から別の状態に前記ルールセットを遷移させることを可能にすることと、
前記ルール仕様が借り出されたときと比較して変更された状態で前記ルール仕様が前記リポジトリに返却される都度、前記ルールセットへの前記初期状態の前記割り当て又はある状態から別の状態への前記ルールセットの前記遷移に、前記初期状態を割り当てたか、又は前記ルールセットに関連付けられた前記状態を変更した前記ユーザの前記ユーザ識別子を関連付け、前記初期状態が割り当てられたとき又は前記状態が変更されたときを示すデータを記憶することと
を含む、請求項６４に記載の方法。
【請求項７４】
統合ユーザインターフェースにおいて、ユーザが前記ルール仕様の特定のバージョンを選択できるようにする第１の表示入力要素を提供することと、
前記統合ユーザインターフェースにおいて、前記ユーザが、前記ルール仕様の前記選択されたバージョンにより指定された前記ルールセットをアプリケーションプログラムに関連付けられるようにする第２の表示入力要素を提供することと、
シミュレーションの入力記録、使用するデータ（日付及び顧客ＩＤは前記テストデータを識別する方法であることができる）（テストする前記特定の記録を見つけるための前記顧客識別子を提供することと、
前記ルール仕様の前記選択されたバージョンにより指定された前記ルールセットのルールに従って前記アプリケーションプログラムの実行をシミュレートして、前記入力記録を処理し、出力を生成することと、
前記アプリケーションプログラムの前記実行の前記シミュレーションの結果に基づいてデバッグ情報を表示することであって、前記デバッグ情報は前記ルールセットのデバッグに有用である、表示することと
を含む、請求項７３に記載の方法。
【請求項７５】
前記統合ユーザインターフェースにおいて、前記ユーザが特定の時間を選択できるようにする第３の表示入力要素を提供することと、
前記ルールセットの前記状態を前記選択された時間に表示することと、
前記選択された時間に前記ルールセットに前記状態を関連付けさせた前記ユーザに関連付けられた前記ユーザ識別子を表示することと
を含む、請求項７４に記載の方法。
【請求項７６】
前記デバッグ情報は、前記ルール仕様の前記選択されたバージョンにより指定された前記ルールセットの前記ルールに従って前記アプリケーションプログラムの実行をシミュレートして、前記入力記録を処理する間、どのルールケースがトリガーされたかについての情報を含む、請求項７４に記載の方法。
【請求項７７】
前記ルール仕様は、前記ルールケースに対応する複数の行を有するスプレッドシートを含み、前記スプレッドシートは、利用可能なデータ値に対応するトリガー列を含み、前記ルールケースは、前記利用可能なデータ値に関連する複数の組のトリガー基準を含み、各ルールケースは、所与の記録の１つ又は複数のデータ値が、前記ルールケースが１つ又は複数の基準を有する各トリガー列で、前記１つ又は複数のトリガー基準を満たす場合、前記ルールケースが前記所与の記録に適用されるように構成され、
前記デバッグ情報は、どのトリガー基準が真であると評価されたか又はどのトリガー基準が偽であると評価されたかについての情報の少なくとも一方を含む、請求項７４に記載の方法。
【請求項７８】
前記第１のデータ及び前記第２のデータを前記リポジトリに記憶することは、前記ルールセットに関連付けられた１つ又は複数のタグを記憶又は変更することを含み、前記１つ又は複数のタグは、対応するバージョンのルールセットへのポインタ及び前記ルールセットの前記状態の情報を含む、請求項６４に記載の方法。
【請求項７９】
データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールを管理するコンピュータプログラムを記憶するコンピュータ可読媒体であって、前記コンピュータプログラムは、コンピュータシステムに、
ルール仕様の返却及び借り出し、前記ルール仕様の編集、及び状態遷移情報の受信を可能にする、統合ユーザインターフェースの第１のユーザインターフェースを提供することと、
前記第１のユーザインターフェースを通して、第１のユーザ識別子が関連付けられた第１のユーザから第１の命令を受信することと、
前記第１のユーザからの前記第１の命令に応答して、リポジトリからルール仕様を選択することであって、前記ルール仕様は第１のバージョン番号を有し、１組のルールを含むルールセットを指定し、各ルールは、前記ルールの入力に応じて前記ルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が前記１つ又は複数の入力関係を満たす場合、ルールケースは前記所与の入力記録によりトリガーされる、選択することと、
前記第１のユーザインターフェースを通して前記第１のユーザから編集命令を受信することと、
前記第１のユーザからの前記編集命令に基づいて前記ルール仕様を改訂することと、
前記ルールセットに複数の状態の第１の状態を関連付けることと、
前記第１のユーザインターフェースを通して前記第１のユーザから第２の命令を受信することと、
前記第１のユーザからの前記第２の命令に応答して、第２のバージョン番号を前記ルール仕様に割り当てることと、
前記統合ユーザインターフェースの第２のユーザインターフェースを通して、第２のユーザ識別子が関連付けられた第２のユーザから、前記ルールセットに関連付けられた遷移情報を受信することと、
前記遷移情報及び前記ルールセット及び前記第１の状態に関連付けられた許可された遷移に基づいて、前記ルールセットに前記複数の状態の第２の状態を関連付けることであって、前記第２の状態は前記第１の状態と異なる、関連付けることと、
前記リポジトリに、前記ルール仕様の前記第２のバージョンの変更を前記第１のユーザ識別子に関連付ける第１のデータ及び前記第１の状態から前記第２の状態への前記遷移を前記第２のユーザ識別子に関連付ける第２のデータを記憶することと
を行わせる命令を含む、コンピュータ可読媒体。
【請求項８０】
アプリケーションプログラムと併用する１つ又は複数のルールを管理するシステムであって、
１つ又は複数のルール仕様を記憶するデータ記憶システムと、
グラフィカルユーザインターフェースを提供する少なくとも１つの出力デバイス又はポートと、
前記データ記憶システム及び前記少なくとも１つの出力デバイス又はポートに結合されたコンピュータシステムであって、
ルール仕様の返却及び借り出し、前記ルール仕様の編集、及び状態遷移情報の受信を可能にする、統合ユーザインターフェースの第１のユーザインターフェースを提供する回路と、
前記第１のユーザインターフェースを通して第１のユーザ識別子が関連付けられた第１のユーザから第１の命令を受信する回路と、
前記第１のユーザからの前記第１の命令に応答して、リポジトリからルール仕様を選択する回路であって、前記ルール仕様は第１のバージョン番号を有し、１組のルールを含むルールセットを指定し、各ルールは、前記ルールの入力に応じて前記ルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が前記１つ又は複数の入力関係を満たす場合、ルールケースは前記所与の入力記録によりトリガーされる、選択する回路と、
前記第１のユーザインターフェースを通して前記第１のユーザから編集命令を受信する回路と、
前記第１のユーザからの前記編集命令に基づいて前記ルール仕様を改訂する回路と、
前記ルールセットに複数の状態の第１の状態を関連付ける回路と、
前記第１のユーザインターフェースを通して前記第１のユーザから第２の命令を受信する回路と、
前記第１のユーザからの前記第２の命令に応答して、第２のバージョン番号を前記ルール仕様に割り当てる回路と、
前記統合ユーザインターフェースの第２のユーザインターフェースを通して、第２のユーザ識別子が関連付けられた第２のユーザから、前記ルールセットに関連付けられた遷移情報を受信する回路と、
前記遷移情報及び前記ルールセット及び前記第１の状態に関連付けられた許可された遷移に基づいて、前記ルールセットに前記複数の状態の第２の状態を関連付ける回路であって、前記第２の状態は前記第１の状態と異なる、関連付ける回路と、
前記リポジトリに、前記ルール仕様の前記第２のバージョンの変更を前記第１のユーザに関連付ける第１のデータ及び前記第１の状態から前記第２の状態への前記遷移を前記第２のユーザ識別子に関連付ける第２のデータを記憶する回路と
を含む、コンピュータシステムと
を含む、システム。
【請求項８１】
アプリケーションプログラムと併用する１つ又は複数のルールを管理するシステムであって、
ルール仕様の返却及び借り出し、前記ルール仕様の編集、及び状態遷移情報の受信を可能にする、統合ユーザインターフェースの第１のユーザインターフェースを提供する手段と、
前記第１のユーザインターフェースを通して第１のユーザ識別子が関連付けられた第１のユーザから第１の命令を受信する手段と、
前記第１のユーザからの前記第１の命令に応答して、リポジトリからルール仕様を選択する手段であって、前記ルール仕様は第１のバージョン番号を有し、１組のルールを含むルールセットを指定し、各ルールは、前記ルールの入力に応じて前記ルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が前記１つ又は複数の入力関係を満たす場合、ルールケースは前記所与の入力記録によりトリガーされる、選択する手段と、
前記第１のユーザインターフェースを通して前記第１のユーザから編集命令を受信する手段と、
前記第１のユーザからの前記編集命令に基づいて前記ルール仕様を改訂する手段と、
前記ルールセットに複数の状態の第１の状態を関連付ける手段と、
前記第１のユーザインターフェースを通して前記第１のユーザから第２の命令を受信する手段と、
前記第１のユーザからの前記第２の命令に応答して、第２のバージョン番号を前記ルール仕様に割り当てる手段と、
前記統合ユーザインターフェースの第２のユーザインターフェースを通して、第２のユーザ識別子が関連付けられた第２のユーザから、前記ルールセットに関連付けられた遷移情報を受信する手段と、
前記遷移情報及び前記ルールセット及び前記第１の状態に関連付けられた許可された遷移に基づいて、前記ルールセットに前記複数の状態の第２の状態を関連付ける手段であって、前記第２の状態は前記第１の状態と異なる、関連付ける手段と、
前記リポジトリに、前記ルール仕様の前記第２のバージョンの変更を前記第１のユーザ識別子に関連付ける第１のデータ及び前記第１の状態から前記第２の状態への前記遷移を前記第２のユーザ識別子に関連付ける第２のデータを記憶する手段と
を含む、システム。
【請求項８２】
データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールコンテナを管理するコンピュータ実施方法であって、各ルールコンテナは２つ以上のルールセットを含み、
ルールコンテナ及び前記ルールコンテナに含まれるルール仕様の返却及び借り出し、ある状態から別の状態への前記ルールコンテナの遷移を可能にする統合アプリケーション開発システムを提供することであって、前記統合アプリケーション開発システムは、ユーザから命令を受信し、情報を前記ユーザに提供するユーザインターフェースを含む統合ユーザインターフェースを提供する、提供することと、
前記統合ユーザインターフェースの第１のインターフェースを通して第１のユーザ識別子が関連付けられた第１のユーザから第１の命令を受信することと、
前記第１のユーザからの前記第１の命令に応答して、
リポジトリからルールコンテナを選択することであって、前記ルールコンテナは、少なくとも第１のルール仕様及び第２のルール仕様を含み、前記ルールコンテナは第１のバージョン番号を有し、前記第１のルール仕様は第２のバージョン番号を有し、前記第２のルール仕様は第３のバージョン番号を有し、前記第１のルール仕様及び前記第２のルール仕様はそれぞれ、１組のルールを含むルールセットを指定し、各ルールは、前記ルールの入力に応じて前記ルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が前記１つ又は複数の入力関係を満たす場合、ルールケースは前記所与の入力記録によりトリガーされる、選択することと、
前記第１のルール仕様により指定された第１のルールセットに前記ルールセットの複数の状態の第１の状態を関連付けることと、
前記ルールコンテナにルールコンテナの複数の状態の第１の状態を関連付けることと、
第４のバージョン番号を前記ルールコンテナに割り当て、第５のバージョン番号を前記第１のルール仕様に割り当てることであって、前記第４のバージョン番号は前記第１のバージョン番号と異なり、前記第５のバージョン番号は前記第２のバージョン番号と異なる、割り当てることと
を含む、方法。
【請求項８３】
前記統合ユーザインターフェースの前記第１のインターフェースを通して、前記ルールコンテナに関連付けられた第１の遷移情報及び前記第１のルールセットに関連付けられた第２の遷移情報を受信することであって、前記第１の遷移情報及び前記第２の遷移情報は前記第１のユーザにより提供される、受信することと、
前記第１の遷移情報及び前記ルールコンテナに関連付けられた許可された遷移に基づいて、前記ルールコンテナに前記ルールコンテナの複数の状態の第２の状態を関連付けることであって、ルールコンテナの前記第２の状態は、ルールコンテナの前記第１の状態と異なる、関連付けることと、
前記第２の遷移情報及び前記第１のルールセットに関連付けられた許可された遷移に基づいて、前記第１のルールセットにルールセットの前記複数の状態の第２の状態を関連付けることであって、ルールセットの前記第２の状態は、ルールセットの前記第１の状態と異なる、関連付けることと、
ログデータオブジェクトに、前記第１のユーザが前記ルールコンテナを選択したことを指定する第１のログデータ、前記第１のユーザが、ルールコンテナの前記第１の状態から前記第２の状態に遷移することについて前記ルールコンテナを承認したことを指定する第２のログデータ、及び前記第１のユーザが、ルールセットの前記第１の状態から前記第２の状態に遷移することについて前記第１のルールセットを承認したことを指定する第３のログデータを記憶することと
を含む、請求項８２に記載の方法。
【請求項８４】
前記ログデータオブジェクトにおける前記第１のログデータは、前記第１のユーザが、前記第１のバージョン番号を有する前記ルールコンテナを選択したことを指定し、前記第２のログデータは、前記第１のユーザが、ルールコンテナの前記第１の状態から前記第２の状態に遷移することについて、前記第１のバージョン番号を有する前記ルールコンテナを承認したことを指定し、前記第３のログデータは、前記第１のユーザが、ルールセットの前記第１の状態から前記第２の状態に遷移することについて、前記第２のバージョン番号を有する前記第１のルールセットを承認したことを指定する、請求項８３に記載の方法。
【請求項８５】
前記統合ユーザインターフェースの第２のインターフェースを通して、第２のユーザ識別子が関連付けられた第２のユーザから第２の命令を受信することと、
前記第２のユーザからの前記第２の命令に応答して、前記リポジトリから前記ルールコンテナを選択することと、
前記統合ユーザインターフェースの前記第２のインターフェースを通して、前記ルールコンテナに関連付けられた第３の遷移情報及び前記第１のルールセットに関連付けられた第４の遷移情報を受信することであって、前記第３の遷移情報及び前記第４の遷移情報は前記第２のユーザにより提供される、受信することと、
前記第３の遷移情報及び前記ルールコンテナに関連付けられた許可された遷移に基づいて、前記ルールコンテナにルールコンテナの前記複数の状態の第３の状態を関連付けることであって、ルールコンテナの前記第３の状態は、ルールコンテナの前記第２の状態と異なる、関連付けることと、
前記第４の遷移情報及び前記第１のルールセットに関連付けられた許可された遷移に基づいて、前記第１のルールセットにルールセットの前記複数の状態の第３の状態を関連付けることであって、ルールセットの前記第３の状態は、ルールセットの前記第２の状態と異なる、関連付けることと、
前記ログデータオブジェクトに、前記第２のユーザが前記ルールコンテナを選択したことを指定する第４のログデータ、前記第２のユーザが、ルールコンテナが前記第２の状態から前記第３の状態に遷移することについて前記ルールコンテナを承認したことを指定する第５のログデータ、及び前記第２のユーザが、ルールセットの前記第２の状態から前記第３の状態に遷移することについて前記第１のルールセットを承認したことを指定する第６のログデータを記憶することと
を含む、請求項８３に記載の方法。
【請求項８６】
前記ログデータオブジェクトにおける前記第４のログデータは、前記第２のユーザが、前記第４のバージョン番号を有する前記ルールコンテナを選択したことを指定し、前記第５のログデータは、前記第２のユーザが、ルールの前記第２の状態から前記第３の状態に遷移することについて前記第４のバージョン番号を有する前記ルールコンテナを承認したことを指定し、前記第６のログデータは、前記第２のユーザが、ルールセットの前記第１の状態から前記第２の状態に遷移することについて前記第５のバージョン番号を有する前記第１のルールセットを承認したことを指定する、請求項８５に記載の方法。
【請求項８７】
前記統合ユーザインターフェースの第２のインターフェースを通して、第２のユーザ識別子が関連付けられた第２のユーザから第２の命令を受信することと、
前記第２のユーザからの前記第２の命令に応答して、前記リポジトリから前記ルールコンテナを選択することと、
前記統合ユーザインターフェースの前記第２のインターフェースを通して、前記第２のユーザから第３の命令を受信することと、
前記第２のユーザからの前記第３の命令に応答して、（ｉ）ルールコンテナをアプリケーションプログラムに関連付け、前記ルールコンテナ内の前記ルールセットのルールに従って前記アプリケーションプログラムの実行をシミュレートして、入力記録を処理し、出力を生成すること、又は（ｉｉ）前記ルールコンテナ内の前記ルールセットの前記ルールを使用して入力記録を処理するアプリケーションプログラムの実行の前のシミュレーションから生成された、前に記憶された出力を検索することの少なくとも一方を実行することと
を含む、請求項８２に記載の方法。
【請求項８８】
ログデータオブジェクトに、前記第１のユーザが第１の時点において前記ルールコンテナを選択したことを指定する第１のログデータ、前記第２のユーザが第２の時点において前記ルールコンテナを選択したことを指定する第２のログデータ、及び前記第２のユーザが、（ｉ）前記ルールコンテナ内の前記ルールセットのルールに従って、入力記録を処理し出力を生成する前記アプリケーションプログラムの実行をシミュレートすること、又は（ｉｉ）前記ルールコンテナの前記ルールセットの前記ルールを使用して、入力記録を処理する前記アプリケーションプログラムの実行の前のシミュレーションから生成された、前に記憶された出力を検索することの少なくとも一方を実行したことを指定する第３のログデータを記憶することを含む、請求項８７に記載の方法。
【請求項８９】
前記統合ユーザインターフェースの第３のインターフェースを通して、第３のユーザ識別子が関連付けられた第３のユーザから第４の命令を受信することと、
前記第３のユーザからの前記第４の命令に応答して、前記リポジトリから前記ルールコンテナを選択することと、
前記統合ユーザインターフェースの前記第３のインターフェースを通して、前記第３のユーザから遷移情報を受信することと、
前記第３のユーザからの前記遷移情報に応答して、前記ルールコンテナがリリース可能な状態であることを示すリリース状態に前記ルールコンテナを遷移させることと
を含む、請求項８７に記載の方法。
【請求項９０】
ログデータオブジェクトに、
前記第１のユーザが第１の時点において前記ルールコンテナを選択したことを指定する第１のログデータ、
前記第２のユーザが第２の時点において前記ルールコンテナを選択したことを指定する第２のログデータ、
前記第２のユーザが、（ｉ）前記ルールコンテナ内の前記ルールセットのルールに従って、入力を記録し出力を生成する前記アプリケーションプログラムの実行をシミュレートすること、又は（ｉｉ）前記ルールコンテナ内の前記ルールセットの前記ルールを使用して、入力記録を処理する前記アプリケーションプログラムの実行の前記前のシミュレーションの前記結果である、前に記憶された出力を検索することの少なくとも一方を実行したことを指定する第３のログデータ、
前記第３のユーザが第３の時点において前記ルールコンテナを選択したことを指定する第４のログデータ、及び
前記第３のユーザが前記ルールコンテナの前記リリース状態への遷移を承認したことを指定する第５のログデータ
を記憶することを含む、請求項８９に記載の方法。
【請求項９１】
データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールコンテナを管理するコンピュータプログラムを記憶するコンピュータ可読媒体であって、前記コンピュータプログラムは、コンピュータシステムに、
ルールコンテナ及び前記ルールコンテナに含まれるルール仕様の返却及び借り出し、及びある状態から別の状態への前記ルールコンテナの遷移を可能にする統合アプリケーション開発システムを提供することであって、前記統合アプリケーション開発システムは、ユーザから命令を受信し、情報を前記ユーザに提供するユーザインターフェースを提供する統合ユーザインターフェースモジュールを含む、提供することと、
前記統合ユーザインターフェースの第１のインターフェースを通して第１のユーザ識別子が関連付けられた第１のユーザから命令を受信することと、
前記第１のユーザからの前記第１の命令に応答して、
リポジトリからルールコンテナを選択することであって、前記ルールコンテナは、少なくとも第１のルール仕様及び第２のルール仕様を含み、前記ルールコンテナは第１のバージョン番号を有し、前記第１のルール仕様は第２のバージョン番号を有し、前記第２のルール仕様は第３のバージョン番号を有し、前記第１のルール仕様及び前記第２のルール仕様はそれぞれ、１組のルールを含むルールセットを指定し、各ルールは、前記ルールの入力に応じて前記ルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が前記１つ又は複数の入力関係を満たす場合、ルールケースは前記所与の入力記録によりトリガーされる、選択することと、
前記第１のルール仕様により指定された第１のルールセットにルールセットの複数の状態の第１の状態を関連付けることと、
前記ルールコンテナにルールコンテナの複数の状態の第１の状態を関連付けることと、
第４のバージョン番号を前記ルールコンテナに割り当て、第５のバージョン番号を前記第１のルール仕様に割り当てることと
を行わせる命令を含む、コンピュータ可読媒体。
【請求項９２】
アプリケーションプログラムと併用する１つ又は複数のルールコンテナを管理するシステムであって、
１つ又は複数のルールコンテナを記憶するデータ記憶システムと、
グラフィカルユーザインターフェースを提供する少なくとも１つの出力デバイス又はポートと、
前記データ記憶システム及び前記少なくとも１つの出力デバイス又はポートに結合されるコンピュータシステムであって、
ルールコンテナ及び前記ルールコンテナに含まれるルール仕様の返却及び借り出し、及びある状態から別の状態への前記ルールコンテナの遷移を可能にする統合アプリケーション開発システムを提供する回路であって、前記統合アプリケーション開発システムは、ユーザから命令を受信し、情報を前記ユーザに提供するユーザインターフェースを含む統合ユーザインターフェースを含む、提供する回路と、
前記統合ユーザインターフェースの第１のインターフェースを通して第１のユーザ識別子が関連付けられた第１のユーザから命令を受信する回路と、
前記第１のユーザからの前記第１の命令に応答して、
リポジトリからルールコンテナを選択する回路であって、前記ルールコンテナは、少なくとも第１のルール仕様及び第２のルール仕様を含み、前記ルールコンテナは第１のバージョン番号を有し、前記第１のルール仕様は第２のバージョン番号を有し、前記第２のルール仕様は第３のバージョン番号を有し、前記第１のルール仕様及び前記第２のルール仕様はそれぞれ、１組のルールを含むルールセットを指定し、各ルールは、前記ルールの入力に応じて前記ルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が前記１つ又は複数の入力関係を満たす場合、ルールケースは前記所与の入力記録によりトリガーされる、選択する回路と、
前記第１のルール仕様により指定された第１のルールセットにルールセットの複数の状態の第１の状態を関連付ける回路と、
前記ルールコンテナにルールコンテナの複数の状態の第１の状態を関連付ける回路と、
第４のバージョン番号を前記ルールコンテナに割り当て、第５のバージョン番号を前記第１のルール仕様に割り当てる回路と
を含む、コンピュータシステムと
を含む、システム。
【請求項９３】
アプリケーションプログラムと併用する１つ又は複数のルールコンテナを管理するシステムであって、
ルールコンテナ及び前記ルールコンテナに含まれるルール仕様の返却及び借り出し、及びある状態から別の状態への前記ルールコンテナの遷移を可能にする統合アプリケーション開発システムを提供する手段であって、前記統合アプリケーション開発システムは、ユーザから命令を受信し、情報を前記ユーザに提供するユーザインターフェースを含む統合ユーザインターフェースを含む、提供する手段と、
前記統合ユーザインターフェースの第１のインターフェースを通して第１のユーザ識別子が関連付けられた第１のユーザから命令を受信する手段と、
前記第１のユーザからの前記第１の命令に応答して、リポジトリからルールコンテナを選択する手段であって、前記ルールコンテナは、少なくとも第１のルール仕様及び第２のルール仕様を含み、前記ルールコンテナは第１のバージョン番号を有し、前記第１のルール仕様は第２のバージョン番号を有し、前記第２のルール仕様は第３のバージョン番号を有し、前記第１のルール仕様及び前記第２のルール仕様はそれぞれ、１組のルールを含むルールセットを指定し、各ルールは、前記ルールの入力に応じて前記ルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が前記１つ又は複数の入力関係を満たす場合、ルールケースは前記所与の入力記録によりトリガーされる、選択する手段と、
前記第１のユーザからの前記第１の命令に応答して、前記第１のルール仕様により指定された第１のルールセットにルールセットの複数の状態の第１の状態を関連付ける手段と、
前記第１のユーザからの前記第１の命令に応答して、前記ルールコンテナにルールコンテナの複数の状態の第１の状態を関連付ける手段と、
前記第１のユーザからの前記第１の命令に応答して、第４のバージョン番号を前記ルールコンテナに割り当て、第５のバージョン番号を前記第１のルール仕様に割り当てる手段と
を含む、システム。
【請求項９４】
データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールを管理するコンピュータ実施方法であって、
ルールセットのバージョン制御及びビジネスプロセス管理を可能にする統合ユーザインターフェースを提供することであって、各ルールセットは、前記ルールの入力に応じて前記ルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が前記１つ又は複数の入力関係を満たす場合、ルールケースは前記所与の入力記録によりトリガーされる、提供することと、
前記統合ユーザインターフェースの第１のインターフェースを通して第１のユーザ識別子が関連付けられた第１のユーザから命令を受信することと、
前記第１のユーザからの前記命令に応答して、リポジトリから第１のバージョン番号を有する第１のルールセットを選択し、前記第１のルールセットを第１の状態から第２の状態に遷移させ、第２のバージョン番号を前記第１のルールセットに割り当てることと、
前記統合ユーザインターフェースの第２のインターフェースを通して、第２のユーザ識別子が関連付けられた第２のユーザから命令を受信することと、
前記第２のユーザからの前記命令に応答して、前記リポジトリから前記第２のバージョン番号を有する前記第１のルールセットを選択し、前記第１のルールセットを前記第２の状態から第３の状態に遷移させることと、
共通ログに、前記第１のユーザが前記第１のバージョン番号を有する前記第１のルールセットを選択し、前記第１のユーザが前記第１の状態から前記第２の状態への遷移について前記第１のルールセットを承認し、前記第２のユーザが前記第２のバージョン番号を有する前記第１のルールセットを選択し、前記第２のユーザが、前記第２の状態から前記第３の状態への遷移について前記第１のルールセットを承認したことを指定する情報を記憶することと
を含む、方法。
【請求項９５】
前記統合ユーザインターフェースはまた、ルールセットのシミュレーションを可能にするようにも構成され、前記方法は、
前記統合ユーザインターフェースの第３のインターフェースを通して、第３のユーザ識別子が関連付けられた第３のユーザから命令を受信することと、
前記第３のユーザからの前記命令に応答して、前記リポジトリから前記第２のバージョン番号を有する前記第１のルールセットを選択し、（ｉ）前記第１のルールセットをアプリケーションプログラムに関連付け、前記第１のルールセットのルールに従って、入力記録を処理し出力を生成する前記アプリケーションプログラムの実行をシミュレートすること、又は（ｉｉ）前記第１のルールセットのルールを使用して、入力記録を処理するアプリケーションプログラムの実行の前のシミュレーションから生成された、前に記憶された出力を検索することの少なくとも一方を実行することと、
前記共通ログに、前記第３のユーザが前記第２のバージョン番号を有する前記第１のルールセットを選択し、前記第３のユーザが、（ｉ）前記第１のルールセットのルールに従って、入力記録を処理し出力を生成する前記アプリケーションプログラムの実行をシミュレートすること、又は（ｉｉ）前記第１のルールセットのルールを使用して、入力記録を処理する前記アプリケーションプログラムの実行の前記前のシミュレーションから生成された、前に記憶された出力を検索することの少なくとも一方を実行したことを指定する情報を記憶することと
を含む、請求項９４に記載の方法。
【請求項９６】
前記統合ユーザインターフェースはまた、ルールセットの編集を可能にするようにも構成され、前記方法は、
前記統合ユーザインターフェースの前記第１のインターフェースを通して前記第１のユーザから編集命令を受信することと、
前記第１のユーザからの前記編集命令に応答して、前記第１のルールセットを編集することと、
前記共通ログに、前記第１のユーザが前記第１のルールセットを編集したことを指定する情報を記憶することと
を含む、請求項９４に記載の方法。
【請求項９７】
前記第１のインターフェースは前記第１のユーザのディスプレイに示され、前記第２のインターフェースは前記第２のユーザのディスプレイに示される、請求項９４に記載の方法。
【請求項９８】
データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールを管理するコンピュータプログラムを記憶するコンピュータ可読媒体であって、前記コンピュータプログラムは、コンピュータシステムに、
ルールセットのバージョン制御及びビジネスプロセス管理を可能にする統合ユーザインターフェースを提供することであって、各ルールセットは、前記ルールの入力に応じて前記ルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が前記１つ又は複数の入力関係を満たす場合、ルールケースは前記所与の入力記録によりトリガーされる、提供することと、
前記統合ユーザインターフェースの第１のインターフェースを通して第１のユーザ識別子が関連付けられた第１のユーザから命令を受信することと、
前記第１のユーザからの前記命令に応答して、リポジトリから第１のバージョン番号を有する第１のルールセットを選択し、前記第１のルールセットを第１の状態から第２の状態に遷移させ、第２のバージョン番号を前記第１のルールセットに割り当てることと、
前記統合ユーザインターフェースの第２のインターフェースを通して、第２のユーザ識別子が関連付けられた第２のユーザから命令を受信することと、
前記第２のユーザからの前記命令に応答して、前記リポジトリから前記第２のバージョン番号を有する前記第１のルールセットを選択し、前記第１のルールセットを前記第２の状態から第３の状態に遷移させることと、
共通ログに、前記第１のユーザが前記第１のバージョン番号を有する前記第１のルールセットを選択し、前記第１のユーザが前記第１の状態から前記第２の状態への遷移について前記第１のルールセットを承認し、前記第２のユーザが前記第２のバージョン番号を有する前記第１のルールセットを選択し、前記第２のユーザが、前記第２の状態から前記第３の状態への遷移について前記第１のルールセットを承認したことを指定する情報を記憶することと
を行わせる命令を含む、コンピュータ可読媒体。
【請求項９９】
アプリケーションプログラムと併用する１つ又は複数のルールを管理するシステムであって、
１つ又は複数のルールを記憶するデータ記憶システムと、
グラフィカルユーザインターフェースを提供する少なくとも１つの出力デバイス又はポートと、
前記データ記憶システム及び前記少なくとも１つの出力デバイス又はポートに結合されたコンピュータシステムであって、
ルールセットのバージョン制御及びビジネスプロセス管理を可能にする統合ユーザインターフェースを提供する回路であって、各ルールセットは、前記ルールの入力に応じて前記ルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が前記１つ又は複数の入力関係を満たす場合、ルールケースは前記所与の入力記録によりトリガーされる、提供する回路と、
前記統合ユーザインターフェースの第１のインターフェースを通して第１のユーザ識別子が関連付けられた第１のユーザから命令を受信する回路と、
前記第１のユーザからの前記命令に応答して、リポジトリから第１のバージョン番号を有する第１のルールセットを選択し、前記第１のルールセットを第１の状態から第２の状態に遷移させ、第２のバージョン番号を前記第１のルールセットに割り当てる回路と、
前記統合ユーザインターフェースの第２のインターフェースを通して、第２のユーザ識別子が関連付けられた第２のユーザから命令を受信する回路と、
前記第２のユーザからの前記命令に応答して、前記リポジトリから前記第２のバージョン番号を有する前記第１のルールセットを選択し、前記第１のルールセットを前記第２の状態から第３の状態に遷移させる回路と、
共通ログに、前記第１のユーザが前記第１のバージョン番号を有する前記第１のルールセットを選択し、前記第１のユーザが前記第１の状態から前記第２の状態への遷移について前記第１のルールセットを承認し、前記第２のユーザが前記第２のバージョン番号を有する前記第１のルールセットを選択し、前記第２のユーザが、前記第２の状態から前記第３の状態への遷移について前記第１のルールセットを承認したことを指定する情報を記憶する回路と
を含む、コンピュータシステムと
を含む、システム。
【請求項１００】
アプリケーションプログラムと併用する１つ又は複数のルールを管理するシステムであって、
ルールセットのバージョン制御及びビジネスプロセス管理を可能にする統合ユーザインターフェースを提供する手段であって、各ルールセットは、前記ルールの入力に応じて前記ルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が前記１つ又は複数の入力関係を満たす場合、ルールケースは前記所与の入力記録によりトリガーされる、提供する手段と、
前記統合ユーザインターフェースの第１のインターフェースを通して第１のユーザ識別子が関連付けられた第１のユーザから命令を受信する手段と、
前記第１のユーザからの前記命令に応答して、リポジトリから第１のバージョン番号を有する第１のルールセットを選択し、前記第１のルールセットを第１の状態から第２の状態に遷移させ、第２のバージョン番号を前記第１のルールセットに割り当てる手段と、
前記統合ユーザインターフェースの第２のインターフェースを通して、第２のユーザ識別子が関連付けられた第２のユーザから命令を受信する手段と、
前記第２のユーザからの前記命令に応答して、前記リポジトリから前記第２のバージョン番号を有する前記第１のルールセットを選択し、前記第１のルールセットを前記第２の状態から第３の状態に遷移させる手段と、
共通ログに、前記第１のユーザが前記第１のバージョン番号を有する前記第１のルールセットを選択し、前記第１のユーザが前記第１の状態から前記第２の状態への遷移について前記第１のルールセットを承認し、前記第２のユーザが前記第２のバージョン番号を有する前記第１のルールセットを選択し、前記第２のユーザが、前記第２の状態から前記第３の状態への遷移について前記第１のルールセットを承認したことを指定する情報を記憶する手段と
を含む、システム。
【請求項１０１】
データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールコンテナを管理するコンピュータ実施方法であって、
ルールコンテナのバージョン制御及びビジネスプロセス管理を可能にする統合ユーザインターフェースを提供することであって、各ルールコンテナは複数のルールセットを含み、各ルールセットは、前記ルールの入力に応じて前記ルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が前記１つ又は複数の入力関係を満たす場合、ルールケースは前記所与の入力記録によりトリガーされる、提供することと、
前記統合ユーザインターフェースの第１のインターフェースを通して第１のユーザ識別子が関連付けられた第１のユーザから命令を受信することと、
前記第１のユーザからの前記命令に応答して、
リポジトリから第１のルールコンテナの第１のバージョンを選択することであって、前記第１のルールコンテナの前記第１のバージョンには、第１のルールセットの第１のバージョン及び第２のルールセットの第１のバージョンが関連付けられ、前記第１のルールコンテナの前記第１のバージョンは、前記第１のルールセットの前記第１のバージョンへのポインタ及び関前記第２のルールセットの前記第１のバージョンへのポインタを含み、前記第２のルールセットの前記第１のバージョンにはルールセットの第１の状態が関連付けられる、選択することと、
前記第１のルールコンテナの第２のバージョンを生成することと、
前記第２のルールセットの前記第１のバージョンのコピーである前記第２のルールセットの第２のバージョンを生成することであって、前記第２のルールセットの前記第２のバージョンにはルールセットの第１の状態が関連付けられる、生成することと、
前記第２のルールセットの前記第１のバージョンをルールセットの前記第１の状態からルールセットの第２の状態に遷移させることと、
前記第１のルールコンテナの前記第２のバージョンに、前記第１のルールセットの前記第１のバージョンへのポインタ及び前記第２のルールセットの前記第２のバージョンへのポインタを追加することと
を含む、方法。
【請求項１０２】
ログデータオブジェクトに、
（ｉ）前記第１のユーザが前記第１のルールコンテナの前記第１のバージョンを選択し、前記第１のルールコンテナの前記第２のバージョンを生成し、前記第１の状態から前記第２の状態への前記第２のルールセットの前記第１のバージョンの遷移を承認したことを指定する情報、又は
（ｉｉ）前記第１のルールコンテナの前記第１のバージョンの前記選択に第１のタイムスタンプが関連付けられ、前記第１のルールコンテナの前記第２のバージョンの前記生成に第２のタイムスタンプが関連付けられ、前記第１の状態から前記第２の状態への前記第２のルールセットの前記第１のバージョンの前記遷移に第３のタイムスタンプが関連付けられることを指定する情報
の少なくとも一方を記憶することを含む、請求項１０１に記載の方法。
【請求項１０３】
前記第１のルールコンテナの前記第１のバージョンにはまず、ルールコンテナの第１の状態が関連付けられ、前記方法は、
前記第１のユーザからの前記命令に応答して、前記第１のルールコンテナの前記第１のバージョンをルールコンテナの前記第１の状態からルールコンテナの第２の状態に遷移させることを含む、請求項１０１に記載の方法。
【請求項１０４】
前記ログデータオブジェクトに、（ｉ）前記第１のユーザが前記第１のルールコンテナの前記第１のバージョンの前記第１の状態から前記第２の状態への遷移を承認したことを指定する情報、又は（ｉｉ）前記第１の状態から前記第２の状態への前記第１のルールコンテナの前記第１のバージョンの前記遷移に第１のタイムスタンプが関連付けられることを指定する情報の少なくとも一方を記憶することを含む、請求項１０３に記載の方法。
【請求項１０５】
前記統合ユーザインターフェースの第２のインターフェースを通して、第２のユーザ識別子が関連付けられた第２のユーザから命令を受信することと、
前記第２のユーザからの前記命令に応答して、
前記リポジトリから前記第１のルールコンテナの前記第１のバージョンを選択することと、
（ｉ）前記第１のルールコンテナの前記第１のバージョンをアプリケーションプログラムに関連付け、前記第１のルールコンテナの前記第１のバージョン内の前記ルールセットのルールに従って、入力記録を処理し出力を生成する前記アプリケーションプログラムの実行をシミュレートすること、又は（ｉｉ）前記第１のルールコンテナの前記第１のバージョン内の前記ルールセットのルールを使用した入力記録を処理するアプリケーションプログラムの実行の前のシミュレーションから生成された、前に記憶された出力を検索することの少なくとも一方を実行することと
を含む、請求項１０１に記載の方法。
【請求項１０６】
ログデータオブジェクトに、
（ｉ）前記第２のユーザが前記第１のルールコンテナの前記第１のバージョンを選択し、前記第１のルールコンテナの前記第１のバージョンと併せて前記アプリケーションプログラムの実行をシミュレートしたことを指定する情報、
（ｉｉ）前記第２のユーザが前記第１のルールコンテナの前記第１のバージョンを選択し、前記第１のルールコンテナの前記第１のバージョン内の前記ルールセットのルールを使用した、入力記録を処理する前記アプリケーションプログラムの実行の前のシミュレーションから生成された、前に記憶された出力を検索することを指定する情報、
（ｉｉｉ）前記第１のルールコンテナの前記第１のバージョンの前記選択には第１のタイムスタンプが関連付けられ、前記第１のルールコンテナの前記第１のバージョンと併せて前記アプリケーションプログラムの実行のシミュレーションには第２のタイムスタンプが関連付けられることを指定する情報、又は
（ｉｖ）前記第１のルールコンテナの前記第１のバージョンの前記選択に第１のタイムスタンプが関連付けられ、前記第１のルールコンテナの前記第１のバージョン内の前記ルールセットのルールを使用した、入力記録を処理する前記アプリケーションプログラムの実行の前のシミュレーションから生成された、前の記憶された出力の検索に第２のタイムスタンプが関連付けられることを指定する情報
の少なくとも１つを記憶することを含む、請求項１０５に記載の方法。
【請求項１０７】
前記第１のインターフェースは前記第１のユーザのディスプレイに提供され、前記第２のインターフェースは前記第２のユーザのディスプレイに提供される、請求項１０５に記載の方法。
【請求項１０８】
前記統合ユーザインターフェースの第２のインターフェースを通して、第２のユーザ識別子が関連付けられた第２のユーザから命令を受信することと、
前記第２のユーザからの前記命令に応答して、
前記リポジトリから前記第１のルールコンテナの前記第１のバージョンを選択することと、
前記第１のルールコンテナ内の前記第１のルールセットの前記第１のバージョンを編集することと、
前記第１のルールセットの前記第１のバージョンをルールセットの第１の状態からルールセットの第２の状態に遷移させることと
を含む、請求項１０１に記載の方法。
【請求項１０９】
ログデータオブジェクトに、
（ｉ）前記第２のユーザが前記第１のルールコンテナの前記第１のバージョンを選択し、前記第１のルールセットの前記第１のバージョンを編集し、前記第１のルールセットの前記第１のバージョンの前記第１の状態から前記第２の状態への遷移を承認したことを指定する情報、又は
（ｉｉ）第１のルールコンテナの前記第１のバージョンの前記選択に第１のタイムスタンプが関連付けられ、前記第１のルールセットの前記第１のバージョンの前記編集に第２のタイムスタンプが関連付けられ、前記第１のルールセットの前記第１のバージョンの前記第１の状態から前記第２の状態への前記遷移に第３のタイムスタンプが関連付けられることを指定する情報
の少なくとも一方を記憶することを含む、請求項１０８に記載の方法。
【請求項１１０】
データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールを管理するコンピュータプログラムを記憶するコンピュータ可読媒体であって、前記コンピュータプログラムは、コンピュータシステムに、
ルールコンテナのバージョン制御及びビジネスプロセス管理を可能にする統合ユーザインターフェースを提供することであって、各ルールコンテナは複数のルールセットを含み、各ルールセットは、前記ルールの入力に応じて前記ルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が前記１つ又は複数の入力関係を満たす場合、ルールケースは前記所与の入力記録によりトリガーされる、提供することと、
前記統合ユーザインターフェースの第１のインターフェースを通して第１のユーザ識別子が関連付けられた第１のユーザから命令を受信することと、
前記第１のユーザからの前記命令に応答して、
リポジトリから第１のルールコンテナの第１のバージョンを選択することであって、前記第１のルールコンテナの前記第１のバージョンには、第１のルールセットの第１のバージョン及び第２のルールセットの第１のバージョンが関連付けられ、前記第１のルールコンテナの前記第１のバージョンは、前記第１のルールセットの前記第１のバージョンへのポインタ及び関前記第２のルールセットの前記第１のバージョンへのポインタを含み、前記第２のルールセットの前記第１のバージョンにはルールセットの第１の状態が関連付けられる、選択することと、
前記第１のルールコンテナの第２のバージョンを生成することと、
前記第２のルールセットの前記第１のバージョンのコピーである前記第２のルールセットの第２のバージョンを生成することであって、前記第２のルールセットの前記第２のバージョンにはルールセットの第１の状態が関連付けられる、生成することと、
前記第２のルールセットの前記第１のバージョンをルールセットの前記第１の状態からルールセットの第２の状態に遷移させることと、
前記第１のルールコンテナの前記第２のバージョンに、前記第１のルールセットの前記第１のバージョンへのポインタ及び前記第２のルールセットの前記第２のバージョンへのポインタを追加することと
を行わせる命令を含む、コンピュータ可読媒体。
【請求項１１１】
アプリケーションプログラムと併用する１つ又は複数のルールコンテナを管理するシステムであって、
１つ又は複数のルールコンテナを記憶するデータ記憶システムと、
グラフィカルユーザインターフェースを提供する少なくとも１つの出力デバイス又はポートと、
前記データ記憶システム及び前記少なくとも１つの出力デバイス又はポートに結合されるコンピュータシステムであって、
ルールコンテナのバージョン制御及びビジネスプロセス管理を可能にする統合ユーザインターフェースを提供する回路であって、各ルールコンテナは複数のルールセットを含み、各ルールセットは、前記ルールの入力に応じて前記ルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が前記１つ又は複数の入力関係を満たす場合、ルールケースは前記所与の入力記録によりトリガーされる、提供する回路と、
前記統合ユーザインターフェースの第１のインターフェースを通して第１のユーザ識別子が関連付けられた第１のユーザから命令を受信する回路と、
前記第１のユーザからの前記命令に応答して、
リポジトリから第１のルールコンテナの第１のバージョンを選択する回路であって、前記第１のルールコンテナの前記第１のバージョンには、第１のルールセットの第１のバージョン及び第２のルールセットの第１のバージョンが関連付けられ、前記第１のルールコンテナの前記第１のバージョンは、前記第１のルールセットの前記第１のバージョンへのポインタ及び関前記第２のルールセットの前記第１のバージョンへのポインタを含み、前記第２のルールセットの前記第１のバージョンにはルールセットの第１の状態が関連付けられる、選択する回路と、
前記第１のルールコンテナの第２のバージョンを生成する回路と、
前記第２のルールセットの前記第１のバージョンのコピーである前記第２のルールセットの第２のバージョンを生成する回路であって、前記第２のルールセットの前記第２のバージョンにはルールセットの第１の状態が関連付けられる、生成する回路と、
前記第２のルールセットの前記第１のバージョンをルールセットの前記第１の状態からルールセットの第２の状態に遷移させる回路と、
前記第１のルールコンテナの前記第２のバージョンに、前記第１のルールセットの前記第１のバージョンへのポインタ及び前記第２のルールセットの前記第２のバージョンへのポインタを追加する回路とを含む、コンピュータシステムと
を含む、システム。
【請求項１１２】
アプリケーションプログラムと併用する１つ又は複数のルールコンテナを管理するシステムであって、
ルールコンテナのバージョン制御及びビジネスプロセス管理を可能にする統合ユーザインターフェースを提供する手段であって、各ルールコンテナは複数のルールセットを含み、各ルールセットは、前記ルールの入力に応じて前記ルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が前記１つ又は複数の入力関係を満たす場合、ルールケースは前記所与の入力記録によりトリガーされる、提供する手段と、
前記統合ユーザインターフェースの第１のインターフェースを通して第１のユーザ識別子が関連付けられた第１のユーザから命令を受信する手段と、
前記第１のユーザからの前記命令に応答して、リポジトリから第１のルールコンテナの第１のバージョンを選択する手段であって、前記第１のルールコンテナの前記第１のバージョンには、第１のルールセットの第１のバージョン及び第２のルールセットの第１のバージョンが関連付けられ、前記第１のルールコンテナの前記第１のバージョンは、前記第１のルールセットの前記第１のバージョンへのポインタ及び関前記第２のルールセットの前記第１のバージョンへのポインタを含み、前記第２のルールセットの前記第１のバージョンにはルールセットの第１の状態が関連付けられる、選択する手段と、
前記第１のユーザからの前記命令に応答して、前記第１のルールコンテナの第２のバージョンを生成する手段と、
前記第１のユーザからの前記命令に応答して、前記第２のルールセットの前記第１のバージョンのコピーである前記第２のルールセットの第２のバージョンを生成する手段であって、前記第２のルールセットの前記第２のバージョンにはルールセットの第１の状態が関連付けられる、生成する手段と、
前記第１のユーザからの前記命令に応答して、前記第２のルールセットの前記第１のバージョンをルールセットの前記第１の状態からルールセットの第２の状態に遷移させる手段と、
前記第１のユーザからの前記命令に応答して、前記第１のルールコンテナの前記第２のバージョンに、前記第１のルールセットの前記第１のバージョンへのポインタ及び前記第２のルールセットの前記第２のバージョンへのポインタを追加する手段と
を含む、システム。
【請求項１１３】
データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールを管理するコンピュータ実施方法であって、
ユーザが統合アプリケーション開発システムと対話して、ルールコンテナのバージョン制御及びビジネスプロセス管理を可能にする統合ユーザインターフェースを提供することであって、各ルールコンテナは複数のルールセットを含み、各ルールセットは、前記ルールの入力に応じて前記ルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が前記１つ又は複数の入力関係を満たす場合、ルールケースは前記所与の入力記録によりトリガーされる、提供することと、
リポジトリに第１のルールコンテナの複数のバージョンを記憶することであって、前記第１のルールコンテナの各バージョンは複数のルールセットを含む、記憶することと、
前記統合ユーザインターフェースの第１のインターフェースを通して第１のユーザ識別子が関連付けられた第１のユーザから命令を受信することと、
前記第１のユーザからの命令に応答して、
前記リポジトリに記憶された前記第１のルールコンテナの複数のバージョンから前記第１のルールコンテナの特定のバージョンを選択することと、
（ｉ）前記第１のルールコンテナの前記特定のバージョンを第１の状態から第２の状態に遷移させること、又は（ｉｉ）前記第１のルールコンテナの前記特定のバージョンの特定のルールセットを第１の状態から第２の状態に遷移させることの少なくとも一方を実行することと
を含む、方法。
【請求項１１４】
ログデータオブジェクトに、
（ｉ）前記第１のユーザが前記第１のルールコンテナの前記特定のバージョンを選択し、前記第１のルールコンテナの前記特定のバージョンの前記第１の状態から前記第２の状態への遷移を承認したことを指定する情報、
（ｉｉ）前記第１のルールコンテナの前記特定のバージョンの選択には第１のタイムスタンプが関連付けられ、前記第１のルールコンテナの前記特定のバージョンの前記第１の状態から前記第２の状態への前記遷移には第２のタイムスタンプが関連付けられることを指定する情報、
（ｉｉｉ）前記第１のユーザが前記第１のルールコンテナの前記特定のバージョンを選択し、前記第１のルールコンテナの前記特定のバージョン内の前記特定のルールセットの前記第１の状態から前記第２の状態への前記遷移を承認したことを指定する情報、又は
（ｉｖ）前記第１のルールコンテナの前記特定のバージョンの前記選択には第１のタイムスタンプが関連付けられ、前記第１のルールコンテナの前記特定のバージョン内の前記特定のルールセットの前記第１の状態から前記第２の状態への前記遷移には第２のタイムスタンプが関連付けられることを指定する情報
の少なくとも１つを記憶することを含む、請求項１１３に記載の方法。
【請求項１１５】
複数のルールセットを含む各ルールコンテナについて、前記ルールコンテナは前記ルールセットへのポインタを含み、各ポインタは、対応するルールセットが記憶された前記リポジトリ内のロケーションをポイントする、請求項１１３に記載の方法。
【請求項１１６】
少なくとも２つの異なるルールコンテナは、共通のルールセットをポイントするポインタを含む、請求項１１５に記載の方法。
【請求項１１７】
前記第１のインターフェースを通して、前記第１のユーザから第２の組の命令を受信することと、
前記第１のユーザからの第２の組の命令に応答して、
前記リポジトリに記憶された前記第２のルールコンテナの複数のバージョンから第２のルールコンテナの特定のバージョンを選択することと、
（ｉ）前記第２のルールコンテナの前記特定のバージョンをアプリケーションプログラムに関連付け、前記第２のロールコンテナの前記特定のバージョン内の前記ルールセットのルールに従って、入力記録を処理し出力を生成する前記アプリケーションプログラムの実行をシミュレートすること、又は（ｉｉ）前記第２のルールコンテナの前記特定のバージョンが関連付けられたアプリケーションプログラムの実行の前のシミュレーションから生成された、前に記憶された出力を検索することの少なくとも一方を実行することと
を含む、請求項１１３に記載の方法。
【請求項１１８】
ログデータオブジェクトに、
（ｉ）前記第１のユーザが前記第２のルールコンテナの前記特定のバージョンを選択し、前記第２のルールコンテナの前記特定のバージョンと併せて前記アプリケーションプログラムの実行をシミュレートしたことを指定する情報、
（ｉｉ）前記第１のユーザ前記第２のルールコンテナの前記特定のバージョンを選択し、前記第２のルールコンテナの前記特定のバージョンと併せた前記アプリケーションプログラムの実行の前のシミュレーションから生成された、前に記憶された出力を検索したことを指定する情報、
（ｉｉｉ）前記第２のルールコンテナの前記特定のバージョンの前記選択には第１のタイムスタンプが関連付けられ、前記第２のルールコンテナの前記特定のバージョンと併せた前記アプリケーションプログラムの実行のシミュレーションには第２のタイムスタンプが関連付けられることを指定する情報、又は
（ｉｖ）前記第２のルールコンテナの前記特定のバージョンの前記選択には第１のタイムスタンプが関連付けられ、前記第２のルールコンテナの前記特定のバージョンと併せた前記アプリケーションプログラムの実行の前のシミュレーションから生成された、前に記憶された出力の検索には第２のタイムスタンプが関連付けられることを指定する情報
の少なくとも１つを記憶することを含む、請求項１１７に記載の方法。
【請求項１１９】
前記統合ユーザインターフェースを通して、ルールコンテナの１人又は複数の制作者が前記ルールコンテナを編集し、第１の状態から第２の状態への前記ルールコンテナの遷移を承認できるようにすることと、
前記統合ユーザインターフェースを通して、１人又は複数のレビューアが前記ルールコンテナの内容をレビューできるようにすることと、
（ｉ）前記ルールコンテナをアプリケーションプログラムに関連付け、前記ルールコンテナ内のルールセットのルールに従って、入力記録を処理し出力を生成する前記アプリケーションプログラムの実行をシミュレートすること、又は（ｉｉ）前記ルールコンテナと併せたアプリケーションプログラムの実行の前のシミュレーションから生成された、前に記憶された出力を検索することの少なくとも一方を実行することと、
（ｉ）前記ルールコンテナを拒絶し、前記ルールコンテナを前記第２の状態から前記第１の状態に遷移させること、又は（ｉｉ）前記ルールコンテナを承認し、前記第２の状態から第３の状態に遷移させることの少なくとも一方を実行することと
を含む、請求項１１３に記載の方法。
【請求項１２０】
前記第１の状態は、前記ルールコンテナが編集中であることを表し、前記第２の状態は、前記ルールコンテナがレビュー可能な状態であることを表し、前記第３の状態は、前記ルールコンテナがリリース可能な状態であることを表す、請求項１１９に記載の方法。
【請求項１２１】
前記統合ユーザインターフェースを通して、１つ又は複数のユーザが前記第１のルールコンテナの複数のリリースを管理できるようにすることであって、前記複数のリリースは現在リリース及び初期リリースを含む、管理できるようにすることと、
前記リポジトリから前記第１のルールコンテナの前記初期リリースを検索することと、
（ｉ）前記第１のルールコンテナの前記初期リリースをアプリケーションプログラムに関連付け、前記第１のルールコンテナの前記初期リリース内のルールセットのルールに従って、入力記録を処理し出力を生成する前記アプリケーションプログラムの実行をシミュレートすること、又は（ｉｉ）前記第１のルールコンテナの前記初期リリースと併せたアプリケーションプログラムの実行の前のシミュレーションから生成された、前に記憶された出力を検索することの少なくとも一方を実行することと
を含む、請求項１１３に記載の方法。
【請求項１２２】
前記統合ユーザインターフェースを通して、１人又は複数の前記ユーザが、前記第１のルールコンテナの前記初期リリースに何の変更がなされたか、誰が前記変更を行ったか、前記変更がいつなされたか、誰が前記第１の状態から前記第２の状態への遷移について前記第１のルールコンテナの前記初期リリースを承認したか、及び誰が前記第２の状態から前記第３の状態への遷移について前記第１のルールコンテナの前記初期リリースを承認したかについての情報を有するログデータオブジェクトをレビューできるようにすることを含む、請求項１２１に記載の方法。
【請求項１２３】
データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールを管理するコンピュータプログラムを記憶するコンピュータ可読媒体であって、前記コンピュータプログラムは、コンピュータシステムに、
ユーザが統合アプリケーション開発システムと対話して、ルールコンテナのバージョン制御及びビジネスプロセス管理を可能にする統合ユーザインターフェースを提供することであって、各ルールコンテナは複数のルールセットを含み、各ルールセットは、前記ルールの入力に応じて前記ルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が前記１つ又は複数の入力関係を満たす場合、ルールケースは前記所与の入力記録によりトリガーされる、提供することと、
リポジトリに第１のルールコンテナの複数のバージョンを記憶することであって、前記第１のルールコンテナの各バージョンは複数のルールセットを含む、記憶することと、
前記統合ユーザインターフェースの第１のインターフェースを通して第１のユーザ識別子が関連付けられた第１のユーザから命令を受信することと、
前記第１のユーザからの命令に応答して、
前記リポジトリに記憶された前記第１のルールコンテナの複数のバージョンから前記第１のルールコンテナの特定のバージョンを選択することと、
（ｉ）前記第１のルールコンテナの前記特定のバージョンを第１の状態から第２の状態に遷移させること、又は（ｉｉ）前記第１のルールコンテナの前記特定のバージョンの特定のルールセットを第１の状態から第２の状態に遷移させることの少なくとも一方を実行することと
を行わせる命令を含む、コンピュータ可読媒体。
【請求項１２４】
アプリケーションプログラムと併用する１つ又は複数のルールコンテナを管理するシステムであって、
１つ又は複数のルールコンテナを記憶するデータ記憶システムと、
グラフィカルユーザインターフェースを提供する少なくとも１つの出力デバイス又はポートと、
前記データ記憶システム及び前記少なくとも１つの出力デバイス又はポートに結合されたコンピュータシステムであって、
ユーザが統合アプリケーション開発システムと対話して、ルールコンテナのバージョン制御及びビジネスプロセス管理を可能にする統合ユーザインターフェースを提供する回路であって、各ルールコンテナは複数のルールセットを含み、各ルールセットは、前記ルールの入力に応じて前記ルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が前記１つ又は複数の入力関係を満たす場合、ルールケースは前記所与の入力記録によりトリガーされる、提供する回路と、
リポジトリに第１のルールコンテナの複数のバージョンを記憶する回路であって、前記第１のルールコンテナの各バージョンは複数のルールセットを含む、記憶する回路と、
前記統合ユーザインターフェースの第１のインターフェースを通して第１のユーザ識別子が関連付けられた第１のユーザから命令を受信する回路と、
前記第１のユーザからの命令に応答して、
前記リポジトリに記憶された前記第１のルールコンテナの複数のバージョンから前記第１のルールコンテナの特定のバージョンを選択する回路と、
（ｉ）前記第１のルールコンテナの前記特定のバージョンを第１の状態から第２の状態に遷移させること、又は（ｉｉ）前記第１のルールコンテナの前記特定のバージョンの特定のルールセットを第１の状態から第２の状態に遷移させることの少なくとも一方を実行する回路と
を含む、コンピュータシステムと
を含む、システム。
【請求項１２５】
アプリケーションプログラムと併用する１つ又は複数のルールコンテナを管理するシステムであって、
ユーザが統合アプリケーション開発システムと対話して、ルールコンテナのバージョン制御及びビジネスプロセス管理を可能にする統合ユーザインターフェースを提供する手段であって、各ルールコンテナは複数のルールセットを含み、各ルールセットは、前記ルールの入力に応じて前記ルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が前記１つ又は複数の入力関係を満たす場合、ルールケースは前記所与の入力記録によりトリガーされる、提供する手段と、
リポジトリに第１のルールコンテナの複数のバージョンを記憶する手段であって、前記第１のルールコンテナの各バージョンは複数のルールセットを含む、記憶する手段と、
前記統合ユーザインターフェースの第１のインターフェースを通して第１のユーザ識別子が関連付けられた第１のユーザから命令を受信する手段と、
前記第１のユーザからの命令に応答して、前記リポジトリに記憶された前記第１のルールコンテナの複数のバージョンから前記第１のルールコンテナの特定のバージョンを選択する手段と、
前記第１のユーザからの命令に応答して、（ｉ）前記第１のルールコンテナの前記特定のバージョンを第１の状態から第２の状態に遷移させること、又は（ｉｉ）前記第１のルールコンテナの前記特定のバージョンの特定のルールセットを第１の状態から第２の状態に遷移させることの少なくとも一方を実行する手段と
を含む、システム。
【請求項１２６】
データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールを管理するコンピュータ実施方法であって、
遷移情報を受信し、１組のルールを含むルールセットを前記アプリケーションプログラムに関連付け、前記アプリケーションプログラムの実行をシミュレートできるようにする統合ユーザインターフェースを提供することと、
前記ルールセットを指定するルール仕様を受信することであって、前記ルールセットの各ルールは、前記ルールの入力に応じて前記ルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が前記１つ又は複数の入力関係を満たす場合、ルールケースは前記所与の入力記録によりトリガーされる、受信することと、
複数の段階の第１の段階を前記ルールセットに関連付けることと、
前記統合ユーザインターフェースを通して前記ルールセットに関連付けられた遷移情報を受信することと、
前記遷移情報及び前記ルールセット及び前記第１の段階に関連付けられた許可された遷移に基づいて、前記複数の段階の第２の段階を前記ルールセットに関連付けることであって、前記第２の段階は前記第１の段階と異なる、関連付けることと、
前記統合ユーザインターフェースを通して第１の命令を受信することと、
前記第１の命令に応答して、
（ｉ）前記ルールセットを前記アプリケーションプログラムに関連付け、前記ルールセットのルールに従って、入力記録を処理し出力値を生成する前記アプリケーションプログラムの実行をシミュレートすること又は
（ｉｉ）前記ルールセットを使用した前記アプリケーションプログラムの実行の前のシミュレーションから生成された、記憶された出力を検索すること
の少なくとも一方を実行することと
を含む、方法。
【請求項１２７】
前記統合ユーザインターフェースは、共通ログデータオブジェクトに情報を記憶するビジネスプロセス管理モジュール及びシミュレーションモジュールにユーザがアクセスできるようにし、
前記ビジネスプロセス管理モジュールは、前記共通ログデータオブジェクトに、（ｉ）どのユーザが前記第１の状態から前記第２の状態への前記ルールセットの前記遷移を承認したかを指定する情報、又は（ｉｉ）前記第１の状態から前記第２の状態への前記ルールセットの前記遷移に第１のタイムスタンプが関連付けられることを指定する情報の少なくとも一方を記憶し、
前記シミュレーションモジュールは、前記共通ログデータオブジェクトに、（ｉ）どのユーザが、前記ルールセットを使用して、出力を生成する前記アプリケーションプログラムの実行をシミュレートしたかを指定する情報、（ｉｉ）どのユーザが、前記第１のルールセットの前記特定のバージョンを使用した前記アプリケーションプログラムの実行の前のシミュレーションから生成された、前に記憶された出力値を検索したかを指定する情報、（ｉｉｉ）前記ルールセットを使用した、出力値を生成する前記アプリケーションプログラムの実行の前記シミュレーションには第２のタイムスタンプが関連付けられることを指定する情報、又は（ｉｖ）前記ルールセットを使用した前記アプリケーションプログラムの実行の前のシミュレーションから生成された、記憶された出力値の前記検索には第２のタイムスタンプが関連付けられることを指定する情報の少なくとも１つを記憶する、請求項１２６に記載の方法。
【請求項１２８】
ルール仕様を受信することは、前記ルールケースに対応する複数の行を有するスプレッドシートを受信することを含む、請求項１２６に記載の方法。
【請求項１２９】
前記スプレッドシートは、利用可能なデータ値に対応するトリガー列を含み、前記ルールケースは、前記利用可能なデータ値に関連する複数の組のトリガー基準を含む、請求項１２８に記載の方法。
【請求項１３０】
各ルールケースは、所与の記録の１つ又は複数のデータ値が、前記ルールケースが１つ又は複数の基準を有する各トリガー列で、前記１つ又は複数のトリガー基準を満たす場合、前記ルールケースが前記所与の記録に適用されるように構成される、請求項１２９に記載の方法。
【請求項１３１】
前記スプレッドシートは、１つ又は複数の出力列を含み、各出力列は潜在的な出力変数に対応し、前記出力変数の値は、前記出力列内のセルにより決定され、前記セルは、前記所与の記録に適用される前記ルールケースに対応する前記行にある、請求項１３０に記載の方法。
【請求項１３２】
前記セルは、前記出力変数に割り当てられた出力値又は前記出力値を生成するために評価される式の少なくとも一方を含む、請求項１３１に記載の方法。
【請求項１３３】
前記複数の段階は、開発ライフサイクルの複数の開発段階を含む、請求項１２６に記載の方法。
【請求項１３４】
前記複数の開発段階は、開発段階又はテスト段階の少なくとも一方を含む、請求項１３３に記載の方法。
【請求項１３５】
前記ルールセットは、あるフォーマットから別のフォーマットへのデータの変換、データについての判断、又は１組の入力データに基づく新しいデータの生成の少なくとも１つを実行するための１組の基準を含む、請求項１２６に記載の方法。
【請求項１３６】
前記ルール仕様は、複数の行を有するルール仕様表を含み、各行はルールケースを定義し、１組の１つ又は複数の潜在的な入力のそれぞれの関係を含む、請求項１２６に記載の方法。
【請求項１３７】
前記関係の少なくとも１つは、閾値に等しい値を有すること、閾値を超える値を有すること、閾値未満の値を有すること、１組の値に属する値を有すること、パターンに一致する値を有すること、別の入力の値への関係を有すること、別のルール仕様の出力の値への関係を有すること、又はメモリ内の値への関係を有することの１つ又は複数を含む、請求項１３６に記載の方法。
【請求項１３８】
前記行の少なくとも１つはまた、前記入力の値、所定の値、又は前記入力の前記値の１つ若しくは複数から計算される値の組合せの１つ又は複数を含む出力も含む、請求項１３７に記載の方法。
【請求項１３９】
前記ルール仕様内の前記複数のルールケースを複数の論理式に変換し、前記複数の論理式をコンパイルしてコンピュータ実行可能コードにし、前記コンピュータ実行可能コードを前記アプリケーションプログラムに組み込むことを含む、請求項１２６に記載の方法。
【請求項１４０】
前記複数のルールケースを変換式に変換し、前記変換式を、データフローを表す要素をリンクすることにより接続されたデータ処理構成要素を有するグラフベースの計算における構成要素を関連付けることを含む、請求項１２６に記載の方法。
【請求項１４１】
前記許容可能な遷移は、（ｉ）開発ライフサイクル内の最初段階におけるルールセットは、後の段階に昇格することができるが、それ以上降格することはできない、（ｉｉ）前記開発ライフサイクルの前記最初段階でもなければ前記最後の段階でもないルールセットは、前記開発ライフサイクルの後の段階に昇格若しくは初期の段階に降格することができ、又は（ｉｉｉ）前記開発ライフサイクルの最後の段階にあるルールセットは、初期段階に降格することができるが、それ以上昇格することはできないことの少なくとも１つを含む、請求項１２６に記載の方法。
【請求項１４２】
（ｉ）前記ルールセットが前記開発ライフサイクルの前記最初段階である場合、前記エディタインターフェースには、前記ルールセットを昇格させる第１の入力要素は示され、前記ルールセットを降格させる入力要素は示されず、（ｉｉ）前記ルールセットが前記最初段階でもなければ前記最後の開発段階でもない場合、前記エディタインターフェースには、前記ルールセットを昇格させる第１の入力要素及び前記ルールセットを降格させる第２の入力要素は示され、又は（ｉｉｉ）前記ルールセットが前記最後の開発段階である場合、前記エディタインターフェースには、前記ルールセットを昇格させる入力要素は示されないことの少なくとも１つを含め、前記統合ユーザインターフェースの部分であるエディタインターフェース内の１つ又は複数の表示入力要素を提供することを含む、請求項１４１に記載の方法。
【請求項１４３】
前記ルールセットの各バージョンは、前記複数の開発段階を通して遷移する、請求項１２６に記載の方法。
【請求項１４４】
ルールセットの異なるバージョンを指定する複数のルール仕様を受信することと、
前記ルールセットの前記異なるバージョンの識別子及び前記ルールセットの前記異なるバージョンに関連付けられた前記開発段階を表示することと
を含む、請求項１４３に記載の方法。
【請求項１４５】
前記ルールセットの前記異なるバージョンの識別子及び前記ルールセットの前記異なるバージョンに関連付けられた前記段階を表示することは、前記ルールセットの複数のメジャー又はマイナーバージョン及び前記ルールセットの前記メジャー又はマイナーバージョンに関連付けられた前記段階を表示することを含む、請求項１４４に記載の方法。
【請求項１４６】
前記ルールセットのコピーを記憶し、（ｉ）前記ルールセットに関連付けられた前記第２の段階に基づいて前記ルールセットの前記コピーに自動的に名前を付けること又は前記ルールセットの前記コピーのファイル名に識別子を自動的に追加することであって、前記識別子は前記ルールセットに関連付けられた前記第２の段階に基づく、追加することの少なくとも１つ一方を実行することを含む、請求項１２６に記載の方法。
【請求項１４７】
前記ルールセットに関連付けられたタグの複数の可能な状態、前記状態のそれぞれに関連付けられた１つ又は複数の入力要素、及び前記入力要素のそれぞれに関連付けられた標的状態を指定するタグ付け仕様を受信することを含む、請求項１２６に記載の方法。
【請求項１４８】
表示入力要素とのユーザ対話に応答して、前記タグに、前記表示入力要素に関連付けられた前記標的状態が関連付けられる、請求項１４７に記載の方法。
【請求項１４９】
前記ルールセットへのポインタを有するタグを使用して、前記ルールセットに関連付けられた前記状態を追跡することを含み、前記タグは前記許容可能な遷移に基づいて前記段階間を遷移する、請求項１２６に記載の方法。
【請求項１５０】
前記タグは、前記ルールセットに関連付けられたレビュー履歴についての情報を記憶する、請求項１４９に記載の方法。
【請求項１５１】
前記複数の段階は、前記ルールセットの承認プロセスにおける複数の段階を含む、請求項１２６に記載の方法。
【請求項１５２】
データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールコンテナを管理する方法であって、
ルール仕様のグループを受信することであって、各ルール仕様は、１組のルールを含むルールセットを指定し、各ルールは、前記ルールの入力に応じて前記ルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が前記１つ又は複数の入力関係を満たす場合、ルールケースは前記所与の入力記録によりトリガーされる、受信することと、
個々のルールセットに関連付けることができる第１の複数の状態、ルールセットのグループに関連付けることができる第２の複数の状態、個々のルールセットに関連付けられる許容可能な状態遷移、及び前記ルールセットのグループに関連付けられる許容可能な状態遷移を指定する遷移仕様を受信することと、
前記第１の複数の状態の１つを各ルールセットに関連付けることと、
前記第２の複数の状態の１つを前記ルールセットのグループに関連付けることと、
前記ルールセットの１つに関連付けられた第１の遷移情報を受信することと、
前記第１の遷移情報、前記ルールセットに関連付けられる許可される遷移、及び前記ルールセットに現在関連付けられている前記状態に基づいて、前記第１の複数の状態の別の１つを前記ルールセットに関連付けることと、
前記ルールセットのグループに関連付けられた第２の遷移情報を受信することと、
前記第２の遷移情報、前記ルールセットのグループに関連付けられる許可される遷移、及び前記ルールセットのグループに現在関連付けられている前記状態に基づいて、前記第２の複数の状態の別の１つを前記ルールセットのグループに関連付けることと、
前記ルールセットのグループをアプリケーションプログラムに関連付けることであって、前記アプリケーションプログラムは、前記ルールセットのグループの前記ルールに従って入力記録を処理し出力を生成するように構成される、関連付けることと
を含む、方法。
【請求項１５３】
前記第１の複数の状態は、（ｉ）複数の開発ライフサイクル状態、又は（ｉｉ）複数の承認プロセス状態の少なくとも一方を含む、請求項１５２に記載の方法。
【請求項１５４】
前記第２の複数の状態は、（ｉ）複数の開発ライフサイクル状態、又は（ｉｉ）複数の承認プロセス段階の少なくとも一方を含む、請求項１５３に記載の方法。
【請求項１５５】
前記ルールセットに関連付けられた前記状態についての情報を含む第１のタグを各ルールセットに関連付け、前記ルールセットに関連付けられた前記状態が変更された場合、前記第１のタグを更新することを含む、請求項１５２に記載の方法。
【請求項１５６】
前記ルールセットのグループに関連付けられた前記状態についての情報を含む第２のタグを前記グループに関連付け、前記ルールセットのグループに関連付けられた前記状態が変更される場合、前記第２のタグを更新することを含む、請求項１５５に記載の方法。
【請求項１５７】
データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールを管理するコンピュータプログラムを記憶するコンピュータ可読媒体であって、前記コンピュータプログラムは、コンピュータシステムに、
遷移情報を受信し、１組のルールを含むルールセットを前記アプリケーションプログラムに関連付け、前記アプリケーションプログラムの実行をシミュレートできるようにする統合ユーザインターフェースを提供することと、
前記ルールセットを指定するルール仕様を受信することであって、前記ルールセットの各ルールは、前記ルールの入力に応じて前記ルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が前記１つ又は複数の入力関係を満たす場合、ルールケースは前記所与の入力記録によりトリガーされる、受信することと、
複数の段階の第１の段階を前記ルールセットに関連付けることと、
前記統合ユーザインターフェースを通して前記ルールセットに関連付けられた遷移情報を受信することと、
前記遷移情報及び前記ルールセット及び前記第１の段階に関連付けられた許可された遷移に基づいて、前記複数の段階の第２の段階を前記ルールセットに関連付けることであって、前記第２の段階は前記第１の段階と異なる、関連付けることと、
前記統合ユーザインターフェースを通して、前記ルールセットを前記アプリケーションプログラムに関連付ける第１の命令を受信することと、
前記第１の命令に応答して、前記ルールセットを前記アプリケーションプログラムに関連付けることと、
前記統合ユーザインターフェースを通して、前記アプリケーションの実行をシミュレートする第２の命令を受信することと、
前記第２の命令に応答して、前記ルールセットのルールに従って前記アプリケーションプログラムの実行をシミュレートして、前記入力記録を処理し、前記出力を生成することと
を行わせる命令を含む、コンピュータ可読媒体。
【請求項１５８】
アプリケーションプログラムと併用する１つ又は複数のルールを管理するシステムであって、
１つ又は複数のルール仕様及び段階間の許可された遷移を定義する１つ又は複数の遷移仕様を記憶するデータ記憶システムと、
グラフィカルユーザインターフェースを提供する少なくとも１つの出力デバイス又はポートと、
前記データ記憶システム及び前記少なくとも１つの出力デバイス又はポートに結合されたコンピュータシステムであって、
遷移情報を受信し、１組のルールを含むルールセットを前記アプリケーションプログラムに関連付け、前記アプリケーションプログラムの実行をシミュレートできるようにする統合ユーザインターフェースを提供する回路と、
前記ルールセットを指定するルール仕様を前記データ記憶システムから検索する回路であって、前記ルールセットの各ルールは、前記ルールの入力に応じて前記ルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が前記１つ又は複数の入力関係を満たす場合、ルールケースは前記所与の入力記録によりトリガーされる、受信する回路と、
複数の段階の第１の段階を前記ルールセットに関連付ける回路と、
前記統合ユーザインターフェースを通して前記ルールセットに関連付けられた遷移情報を受信する回路と、
前記遷移情報及び前記ルールセット及び前記第１の段階に関連付けられた許可された遷移に基づいて、前記複数の段階の第２の段階を前記ルールセットに関連付ける回路であって、前記第２の段階は前記第１の段階と異なる、関連付ける回路と、
前記統合ユーザインターフェースを通して、前記ルールセットを前記アプリケーションプログラムに関連付ける第１の命令を受信する回路と、
前記第１の命令に応答して、前記ルールセットを前記アプリケーションプログラムに関連付ける回路と、
前記統合ユーザインターフェースを通して、前記アプリケーションの実行をシミュレートする第２の命令を受信する回路と、
前記第２の命令に応答して、前記ルールセットのルールに従って前記アプリケーションプログラムの実行をシミュレートして、前記入力記録を処理し、前記出力を生成する回路と
を含む、コンピュータシステムと
を含む、システム。
【請求項１５９】
アプリケーションプログラムと併用する１つ又は複数のルールを管理するシステムであって、
遷移情報を受信し、１組のルールを含むルールセットを前記アプリケーションプログラムに関連付け、前記アプリケーションプログラムの実行をシミュレートできるようにする統合ユーザインターフェースを提供する手段と、
前記ルールセットを指定するルール仕様を受信する手段であって、前記ルールセットの各ルールは、前記ルールの入力に応じて前記ルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が前記１つ又は複数の入力関係を満たす場合、ルールケースは前記所与の入力記録によりトリガーされる、受信する手段と、
複数の段階の第１の段階を前記ルールセットに関連付ける手段と、
前記統合ユーザインターフェースを通して前記ルールセットに関連付けられた遷移情報を受信する手段と、
前記遷移情報及び前記ルールセット及び前記第１の段階に関連付けられた許可された遷移に基づいて、前記複数の段階の第２の段階を前記ルールセットに関連付ける手段であって、前記第２の段階は前記第１の段階と異なる、関連付ける手段と、
前記統合ユーザインターフェースを通して、前記ルールセットを前記アプリケーションプログラムに関連付ける第１の命令を受信する手段と、
前記第１の命令に応答して、前記ルールセットを前記アプリケーションプログラムに関連付ける手段と、
前記統合ユーザインターフェースを通して、前記アプリケーションの実行をシミュレートする第２の命令を受信する手段と、
前記第２の命令に応答して、前記ルールセットのルールに従って前記アプリケーションプログラムの実行をシミュレートして、前記入力記録を処理し、前記出力を生成する手段と
を含む、システム。
【請求項１６０】
データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールを管理するコンピュータプログラムを記憶するコンピュータ可読媒体であって、前記コンピュータプログラムは、コンピュータシステムに、
ルール仕様のグループを受信することであって、各ルール仕様は、１組のルールを含むルールセットを指定し、各ルールは、前記ルールの入力に応じて前記ルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が前記１つ又は複数の入力関係を満たす場合、ルールケースは前記所与の入力記録によりトリガーされる、受信することと、
個々のルールセットに関連付けることができる第１の複数の状態、ルールセットのグループに関連付けることができる第２の複数の状態、個々のルールセットに関連付けられる許容可能な状態遷移、及び前記ルールセットのグループに関連付けられる許容可能な状態遷移を指定する遷移仕様を受信することと、
前記第１の複数の状態の１つを各ルールセットに関連付けることと、
前記第２の複数の状態の１つを前記ルールセットのグループに関連付けることと、
前記ルールセットの１つに関連付けられた第１の遷移情報を受信することと、
前記第１の遷移情報、前記ルールセットに関連付けられる許可される遷移、及び前記ルールセットに現在関連付けられている前記状態に基づいて、前記第１の複数の状態の別の１つを前記ルールセットに関連付けることと、
前記ルールセットのグループに関連付けられた第２の遷移情報を受信することと、
前記第２の遷移情報、前記ルールセットのグループに関連付けられる許可される遷移、及び前記ルールセットのグループに現在関連付けられている前記状態に基づいて、前記第２の複数の状態の別の１つを前記ルールセットのグループに関連付けることと、
前記ルールセットのグループをアプリケーションプログラムに関連付けることであって、前記アプリケーションプログラムは、前記ルール仕様のグループの前記ルールに従って入力記録を処理し出力を生成するように構成される、関連付けることと
を行わせる命令を含む、コンピュータ可読媒体。
【請求項１６１】
アプリケーションプログラムと併用する１つ又は複数のルールを管理するシステムであって、
１つ又は複数のルール仕様及び１つ又は複数の遷移仕様を記憶するデータ記憶システムと、
グラフィカルユーザインターフェースを提供する少なくとも１つの出力デバイス又はポートと、
前記データ記憶システム及び前記少なくとも１つの出力デバイス又はポートに結合されたコンピュータシステムであって、
前記データ記憶システムからルール仕様のグループを受信する回路であって、各ルール仕様は、１組のルールを含むルールセットを指定し、各ルールは、前記ルールの入力に応じて前記ルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が前記１つ又は複数の入力関係を満たす場合、ルールケースは前記所与の入力記録によりトリガーされる、受信する回路と、
前記データ記憶システムから、個々のルールセットに関連付けることができる第１の複数の状態、ルールセットのグループに関連付けることができる第２の複数の状態、個々のルールセットに関連付けられる許容可能な状態遷移、及び前記ルールセットのグループに関連付けられる許容可能な状態遷移を指定する遷移仕様を受信する回路と、
前記第１の複数の状態の１つを各ルールセットに関連付ける回路と、
前記第２の複数の状態の１つを前記ルールセットのグループに関連付ける回路と、
前記ルールセットの１つに関連付けられた第１の遷移情報を受信する回路と、
前記第１の遷移情報、前記ルールセットに関連付けられる許可される遷移、及び前記ルールセットに現在関連付けられている前記状態に基づいて、前記第１の複数の状態の別の１つを前記ルールセットに関連付ける回路と、
前記ルールセットのグループに関連付けられた第２の遷移情報を受信する回路と、
前記第２の遷移情報、前記ルールセットのグループに関連付けられる許可される遷移、及び前記ルールセットのグループに現在関連付けられている前記状態に基づいて、前記第２の複数の状態の別の１つを前記ルールセットのグループに関連付ける回路と、
前記ルールセットのグループをアプリケーションプログラムに関連付ける回路であって、前記アプリケーションプログラムは、前記ルールセットのグループの前記ルールに従って入力記録を処理し出力を生成するように構成される、関連付ける回路と
を含む、コンピュータシステムと
を含む、システム。
【請求項１６２】
アプリケーションプログラムと併用する１つ又は複数のルールを管理するシステムであって、
ルール仕様のグループを受信する手段であって、各ルール仕様は、１組のルールを含むルールセットを指定し、各ルールは、前記ルールの入力に応じて前記ルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が前記１つ又は複数の入力関係を満たす場合、ルールケースは前記所与の入力記録によりトリガーされる、受信する手段と、
個々のルールセットに関連付けることができる第１の複数の状態、ルールセットのグループに関連付けることができる第２の複数の状態、個々のルールセットに関連付けられる許容可能な状態遷移、及び前記ルールセットのグループに関連付けられる許容可能な状態遷移を指定する遷移仕様を受信する手段と、
前記第１の複数の状態の１つを各ルールセットに関連付ける手段と、
前記第２の複数の状態の１つを前記ルールセットのグループに関連付ける手段と、
前記ルールセットの１つに関連付けられた第１の遷移情報を受信する手段と、
前記第１の遷移情報、前記ルールセットに関連付けられる許可される遷移、及び前記ルールセットに現在関連付けられている前記状態に基づいて、前記第１の複数の状態の別の１つを前記ルールセットに関連付ける手段と、
前記ルールセットのグループに関連付けられた第２の遷移情報を受信する手段と、
前記第２の遷移情報、前記ルールセットのグループに関連付けられる許可される遷移、及び前記ルールセットのグループに現在関連付けられている前記状態に基づいて、前記第２の複数の状態の別の１つを前記ルールセットのグループに関連付ける手段と、
前記ルールセットのグループをアプリケーションプログラムに関連付ける手段であって、前記アプリケーションプログラムは、前記ルールセットのグループの前記ルールに従って入力記録を処理し出力を生成するように構成される、関連付ける手段と
を含む、システム。
【請求項１６３】
データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールを管理するコンピュータプログラムを記憶するコンピュータ可読媒体であって、前記コンピュータプログラムは、コンピュータシステムに、
１組のルールを含むルールセットを指定するルール仕様を受信することであって、各ルールは、前記ルールの入力に応じて前記ルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が前記１つ又は複数の入力関係を満たす場合、ルールケースは前記所与の入力記録によりトリガーされる、受信することと、
前記ルールセットに関連付けられた複数の状態間の許容可能な遷移を指定し、各遷移で、前記遷移を実施する権限を有する１人又は複数のユーザを指定する遷移仕様を受信することと、
前記複数の状態の第１の状態を前記ルールセットに関連付けることと、
前記ルールセットに関連付けられた遷移情報を受信することと、
前記遷移情報を提供したユーザが、前記遷移情報を提供する権限を有することを検証することと、
前記遷移情報を提供した前記ユーザが前記遷移情報を提供する権限を有することを検証した後、前記遷移情報及び前記ルールセット及び前記第１の状態に関連付けられた許可される遷移に基づいて、前記複数の状態の第２の状態を前記ルールセットに関連付けることであって、前記第２の状態は前記第１の状態と異なる、関連付けることと、
前記ルールセットを前記アプリケーションに関連付けることであって、前記アプリケーションプログラムは、前記ルールセットのルールに従って入力記録を処理し出力を生成するように構成される、関連付けることと
を行わせる命令を含む、コンピュータ可読媒体。
【請求項１６４】
データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールを管理するシステムであって、
１つ又は複数のルール仕様及び１つ又は複数の遷移仕様を記憶するデータ記憶システムと、
グラフィカルユーザインターフェースを提供する少なくとも１つの出力デバイス又はポートと、
前記データ記憶システム及び前記少なくとも１つの出力デバイス又はポートに結合されたコンピュータシステムであって、
前記データ記憶システムから、１組のルールを含むルールセットを指定するルール仕様を受信する回路であって、各ルールは、前記ルールの入力に応じて前記ルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が前記１つ又は複数の入力関係を満たす場合、ルールケースは前記所与の入力記録によりトリガーされる、受信する回路と、
前記データ記憶システムから、前記ルールセットに関連付けられた複数の状態間の許容可能な遷移を指定し、各遷移で、前記遷移を実施する権限を有する１人又は複数のユーザを指定する遷移仕様を受信する回路と、
前記複数の状態の第１の状態を前記ルールセットに関連付ける回路と、
前記ルールセットに関連付けられた遷移情報を受信する回路と、
前記遷移情報を提供したユーザが、前記遷移情報を提供する権限を有することを検証する回路と、
前記遷移情報を提供した前記ユーザが前記遷移情報を提供する権限を有することを検証した後、前記遷移情報及び前記ルールセット及び前記第１の状態に関連付けられた許可される遷移に基づいて、前記複数の状態の第２の状態を前記ルールセットに関連付ける回路であって、前記第２の状態は前記第１の状態と異なる、関連付ける回路と、
前記ルールセットを前記アプリケーションに関連付ける回路であって、前記アプリケーションプログラムは、前記ルールセットのルールに従って入力記録を処理し出力を生成するように構成される、関連付ける回路と
を含む、コンピュータシステムと
を含む、システム。
【請求項１６５】
アプリケーションプログラムと併用する１つ又は複数のルールを管理するシステムであって、
１組のルールを含むルールセットを指定するルール仕様を受信する手段であって、各ルールは、前記ルールの入力に応じて前記ルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が前記１つ又は複数の入力関係を満たす場合、ルールケースは前記所与の入力記録によりトリガーされる、受信する手段と、
前記ルールセットに関連付けられた複数の状態間の許容可能な遷移を指定し、各遷移で、前記遷移を実施する権限を有する１人又は複数のユーザを指定する遷移仕様を受信する手段と、
前記複数の状態の第１の状態を前記ルールセットに関連付ける手段と、
前記ルールセットに関連付けられた遷移情報を受信する手段と、
前記遷移情報を提供したユーザが、前記遷移情報を提供する権限を有することを検証する手段と、
前記遷移情報を提供した前記ユーザが前記遷移情報を提供する権限を有することを検証した後、前記遷移情報及び前記ルールセット及び前記第１の状態に関連付けられた許可される遷移に基づいて、前記複数の状態の第２の状態を前記ルールセットに関連付ける手段であって、前記第２の状態は前記第１の状態と異なる、関連付ける手段と、
前記ルールセットを前記アプリケーションに関連付ける手段であって、前記アプリケーションプログラムは、前記ルールセットのルールに従って入力記録を処理し出力を生成するように構成される、関連付ける手段と
を含む、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
優先権の主張
本願は、２０１７年６月６日付けで出願された米国特許出願第６２／５１５，８４５号の優先権を主張するものであり、この出願の内容は全体的に、参照により本明細書に援用される。
【０００２】
背景
この説明は、ルールの編集、シミュレーション、バージョン制御、及びビジネスプロセス管理を行う統合システムに関する。
【背景技術】
【０００３】
幾つかの例では、従来のルールセットソースコード制御ツールでは、ソフトウェアプログラマのチームが、ルールセットが開発され更新されるにつれて、幾つかのルールセットのソースコードを管理することができる。ソースコード制御ツールは、ルールセットの中央リポジトリを保持する。ソフトウェアプログラマは、ルールセットを借り出し、ルールエディタを使用してルールセットを編集し、ルールセットをプログラマのコンピュータにローカルに記憶する。ルールセットが借り出されるとき、ルールセットはロックされ、別のプログラマにより編集することはできない。プログラマは、ルールセットの編集を終えた後、ルールセットをテストデータに適用することにより、ルールシミュレータを使用してルールセットの実行をシミュレートし得る。プログラマは、ルールセットへの変更に満足する場合、ルールセットを返却する。
【発明の概要】
【課題を解決するための手段】
【０００４】
概要
一態様では、一般に、この説明は、データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールを管理する方法を特徴とする。本方法は、ルールセットのバージョン制御及びビジネスプロセス管理を可能にする統合アプリケーション開発システムにユーザがアクセスできるようにする統合ユーザインターフェースを提供することであって、各ルールセットは１つ又は複数のルールを含み、各ルールは、ルールの入力に応じてルールの出力の値を計算する１つ又は複数のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースが所与の入力記録によりトリガーされる、提供することと、第１のルールセットの複数のバージョンをリポジトリに記憶することと、第１のルールセットの複数のバージョンについての情報を有する少なくとも１つのログデータオブジェクトをリポジトリに記憶することと、統合ユーザインターフェースの第１のユーザインターフェースを通して、第１のユーザ識別子が関連付けられた第１のユーザから命令を受信することとを含む。本方法は、第１のユーザからの命令に応答して、リポジトリから第１のルールセットの特定のバージョンを借り出し、第１のルールセットの特定のバージョンを複数の状態の第１の状態から複数の状態の第２の状態に遷移させ、第１のルールセットの特定のバージョンをリポジトリに返却することを含む。本方法は、第１のルールセットの特定のバージョンが関連付けられたログデータオブジェクトに、（ｉ）第１のユーザ識別子が関連付けられたユーザが、リポジトリから第１のルールセットの特定のバージョンを借り出し、第１のユーザ識別子が関連付けられたユーザが、第１の状態から第２の状態への第１のルールセットの特定のバージョンの遷移を承認したことを指定する情報、又は（ｉｉ）リポジトリからの第１のルールセットの特定のバージョンの借り出しに第１のタイムスタンプが関連付けられ、第１の状態から第２の状態への第１のルールセットの特定のバージョンの遷移に第２のタイムスタンプが関連付けられることを指定する情報の少なくとも一方を記憶することを含む。
【０００５】
態様は、以下の特徴の１つ又は複数を含むことができる。第１の状態は、第１のルールセットが、なお編集中のドラフトであることを示すことができ、第２の状態は、第１のルールセットがレビューアによるレビュー可能な状態であることを示すことができる。
【０００６】
第１の状態は、第１のルールセットが、第１のルールセットのリリースを承認する権限を有するユーザによるレビューが可能な状態であることを示すことができ、第２の状態は、第１のルールセットが完成し、リリース可能な状態であることを示すことができる。
【０００７】
各ルールセットは、入力データを出力データに変換するソフトウェアモジュール又はデータ処理エンティティの少なくとも一方に対応することができる。
【０００８】
統合アプリケーション開発システムは、ソースコード制御モジュール及びビジネスプロセス管理モジュールを含み、ソースコード制御モジュールは、第１のルールセットの特定のバージョンの返却及び借り出しを処理することができ、ビジネスプロセス管理モジュールは、第１の状態から第２の状態への第１のルールセットの特定のバージョンの遷移を処理することができる。
【０００９】
ソースコード制御モジュールは、（ｉ）第１のユーザがリポジトリから第１のルールセットの特定のバージョンを借り出したことを指定する情報、又は（ｉｉ）リポジトリからの第１のルールセットの特定のバージョンの借り出しに第１のタイムスタンプが関連付けられることを指定する情報の少なくとも一方のログデータオブジェクトへの記憶を処理することができる。ビジネスプロセス管理モジュールは、（ｉ）第１のユーザが、第１の状態から第２の状態への第１のルールセットの特定のバージョンの遷移を承認したことを指定する情報、又は（ｉｉ）第１の状態から第２の状態への第１のルールセットの特定のバージョンの遷移に第２のタイムスタンプが関連付けられることを指定する情報の少なくとも一方のログデータオブジェクトへの記憶を処理することができる。
【００１０】
本方法は、リポジトリから第１のルールセットの特定のバージョンを借り出した後、及び第１のルールセットの特定のバージョンをリポジトリに返却する前、リポジトリに記憶された第１のルールセットの特定のバージョンをロックして、他のユーザがリポジトリ内の第１のルールセットの特定のバージョンを変更できないようにすることを含むことができる。
【００１１】
本方法は、統合ユーザインターフェースの第２のユーザインターフェースを通して、第２のユーザ識別子が関連付けられた第２のユーザから命令を受信することを含むことができる。本方法は、第２のユーザからの命令に応答して、リポジトリから第１のルールセットの特定のバージョンを借り出すことと、実行することであって、（ｉ）アプリケーションプログラムに第１のルールセットの特定のバージョンを関連付け、アプリケーションプログラムを実行して、第１のルールセットの特定のバージョンの１つ又は複数のルールに従って入力記録を処理し、出力を生成すること、又は（ｉｉ）第１のルールセットの特定のバージョンの１つ又は複数のルールに従って入力記録を処理して、出力を生成するアプリケーションプログラムの前の実行から生成された、記憶された出力を検索することの少なくとも一方を実行することとを含むことができる。本方法は、第１のルールセットの特定のバージョンをリポジトリに返却することを含むことができる。
【００１２】
本方法は、第１のルールセットの特定のバージョンが関連付けられたログデータオブジェクトに、（ｉ）第２のユーザ識別子が関連付けられたユーザが、リポジトリから第１のルールセットの特定のバージョンを借り出し、第２のユーザ識別子が関連付けられたユーザが、第１のルールセットの特定のバージョンを使用してアプリケーションプログラムを実行して、出力を生成したことを指定する情報、（ｉｉ）第２のユーザ識別子が関連付けられたユーザが、リポジトリから第１のルールセットの特定のバージョンを借り出し、第２のユーザ識別子が関連付けられたユーザが、第１のルールセットの特定のバージョンを使用したアプリケーションプログラムの前の実行から生成された、記憶された出力を検索したことを指定する情報、（ｉｉｉ）リポジトリからの第１のルールセットの特定のバージョンの借り出しに、第３のタイムスタンプが関連付けられ、第１のルールセットの特定のバージョンを使用して出力を生成するアプリケーションプログラムの実行に第４のタイムスタンプが関連付けられることを指定する情報、又は（ｉｖ）リポジトリからの第１のルールセットの特定のバージョンの借り出しに、第３のタイムスタンプが関連付けられ、第１のルールセットの特定のバージョンを使用したアプリケーションプログラムの前の実行から生成された、記憶された出力の検索に第４のタイムスタンプが関連付けられることを指定する情報の少なくとも１つを記憶することを含むことができる。
【００１３】
統合アプリケーション開発システムは、ソースコード制御モジュール及びシミュレーションモジュールを含むことができる。ソースコード制御モジュールは、（ｉ）第２のユーザ識別子が関連付けられたユーザが、リポジトリから第１のルールセットの特定のバージョンを借り出したことを指定する情報、又は（ｉｉ）リポジトリからの第１のルールセットの特定のバージョンの借り出しに第１のタイムスタンプが関連付けられることを指定する情報の少なくとも一方のログデータオブジェクトへの記憶を処理することができる。シミュレーションモジュールは、（ｉ）第２のユーザ識別子が関連付けられたユーザが、第１のルールセットの特定のバージョンを使用して出力を生成するアプリケーションプログラムを実行したことを指定する情報、（ｉｉ）第２のユーザ識別子が関連付けられたユーザが、第１のルールセットの特定のバージョンを使用したアプリケーションプログラムの前の実行から生成された、記憶された出力を検索することを指定する情報、（ｉｉｉ）第１のルールセットの特定のバージョンを使用して出力を生成するアプリケーションプログラムの実行に第２のタイムスタンプが関連付けられることを指定する情報、又は（ｉｖ）第１のルールセットの特定のバージョンを使用したアプリケーションプログラムの前の実行から生成された、記憶された出力の検索に第２のタイムスタンプが関連付けられることを指定する情報の少なくとも１つのログデータオブジェクトへの記録を処理することができる。
【００１４】
統合アプリケーション開発システムは、ソースコード制御モジュール及びシミュレーションモジュールを含むことができる。ソースコード制御モジュールは、第１のルールセットの特定のバージョンの返却及び借り出しを処理することができ、シミュレーションモジュールは、第１のルールセットの特定のバージョンのルールに従って入力記録を処理し、出力を生成するアプリケーションプログラムの実行を処理することができる。
【００１５】
第１のユーザインターフェースは、第１のユーザのコンピュータ端末において提供することができ、第２のユーザインターフェースは、第２のユーザのコンピュータ端末において提供することができる。
【００１６】
本方法は、第１のユーザからの命令に応答して、第１のルールセットの特定のバージョンを編集することと、第１のルールセットの編集された特定のバージョンをリポジトリに記憶することと、第１のルールセットの特定のバージョンに関連付けられたログデータオブジェクトに、（ｉ）第１のユーザが第１のルールセットの特定のバージョンを編集したことを指定する情報、又は（ｉｉ）第１のルールセットの特定のバージョンの変更に第３のタイムスタンプが関連付けられることを指定する情報の少なくとも一方を記憶することとを含むことができる。
【００１７】
統合アプリケーション開発システムは、ソースコード制御モジュール、ビジネスプロセス管理モジュール、及びルールエディタを含むことができる。ソースコード制御モジュールは、第１のルールセットの特定のバージョンの返却及び借り出しを処理することができ、ビジネスプロセス管理モジュールは、第１の状態から第２の状態への第１のルールセットの特定のバージョンの遷移を処理することができ、ルールエディタは、第１のルールセットの特定のバージョンの編集を処理することができる。
【００１８】
別の態様では、一般に、データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールを管理するコンピュータプログラムを記憶するコンピュータ可読媒体が提供される。コンピュータプログラムは、コンピュータシステムに、ルールセットのバージョン制御及びビジネスプロセス管理を可能にする統合アプリケーション開発システムにユーザがアクセスできるようにする統合ユーザインターフェースを提供することであって、各ルールセットは１つ又は複数のルールを含み、各ルールは、ルールの入力に応じてルールの出力の値を計算する１つ又は複数のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースが所与の入力記録によりトリガーされる、提供することと、第１のルールセットの複数のバージョンをリポジトリに記憶することと、第１のルールセットの複数のバージョンについての情報を有する少なくとも１つのログデータオブジェクトをリポジトリに記憶することと、統合ユーザインターフェースの第１のユーザインターフェースを通して、第１のユーザ識別子が関連付けられた第１のユーザから命令を受信することとを行わせる命令を含む。コンピュータプログラムは、コンピュータシステムに、第１のユーザからの命令に応答して、リポジトリから第１のルールセットの特定のバージョンを借り出すことと、第１のルールセットの特定のバージョンを複数の状態の第１の状態から複数の状態の第２の状態に遷移させることと、第１のルールセットの特定のバージョンをリポジトリに返却することとを行わせる命令を含む。コンピュータプログラムは、コンピュータシステムに、第１のルールセットの特定のバージョンが関連付けられたログデータオブジェクトに、（ｉ）第１のユーザ識別子が関連付けられたユーザが、リポジトリから第１のルールセットの特定のバージョンを借り出し、第１のユーザ識別子が関連付けられたユーザが、第１の状態から第２の状態への第１のルールセットの特定のバージョンの遷移を承認したことを指定する情報、又は（ｉｉ）リポジトリからの第１のルールセットの特定のバージョンの借り出しに第１のタイムスタンプが関連付けられ、第１の状態から第２の状態への第１のルールセットの特定のバージョンの遷移に第２のタイムスタンプが関連付けられることを指定する情報の少なくとも一方を記憶することとを行わせる命令を含む。
【００１９】
別の態様では、一般に、アプリケーションプログラムと併用する１つ又は複数のルールを管理するシステムが提供される。本システムは、１つ又は複数のルールを記憶するデータ記憶システムと、グラフィカルユーザインターフェースを提供する少なくとも１つの出力デバイス又はポートと、データ記憶システム及び少なくとも１つの出力デバイス又はポートに結合されたコンピュータシステムとを含む。コンピュータシステムは、ルールセットのバージョン制御及びビジネスプロセス管理を可能にする統合アプリケーション開発システムにユーザがアクセスできるようにする統合ユーザインターフェースを提供する回路であって、各ルールセットは１つ又は複数のルールを含み、各ルールは、ルールの入力に応じてルールの出力の値を計算する１つ又は複数のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースが所与の入力記録によりトリガーされる、提供する回路と、第１のルールセットの複数のバージョンをリポジトリに記憶する回路と、第１のルールセットの複数のバージョンについての情報を有する少なくとも１つのログデータオブジェクトをリポジトリに記憶する回路と、統合ユーザインターフェースの第１のユーザインターフェースを通して、第１のユーザ識別子が関連付けられた第１のユーザから命令を受信する回路とを含む。コンピュータシステムは、第１のユーザからの命令に応答して、リポジトリから第１のルールセットの特定のバージョンを借り出す回路と、第１のルールセットの特定のバージョンを複数の状態の第１の状態から複数の状態の第２の状態に遷移させる回路と、第１のルールセットの特定のバージョンをリポジトリに返却する回路とを含む。コンピュータシステムは、第１のルールセットの特定のバージョンが関連付けられたログデータオブジェクトに、（ｉ）第１のユーザ識別子が関連付けられたユーザが、リポジトリから第１のルールセットの特定のバージョンを借り出し、第１のユーザ識別子が関連付けられたユーザが、第１の状態から第２の状態への第１のルールセットの特定のバージョンの遷移を承認したことを指定する情報、又は（ｉｉ）リポジトリからの第１のルールセットの特定のバージョンの借り出しに第１のタイムスタンプが関連付けられ、第１の状態から第２の状態への第１のルールセットの特定のバージョンの遷移に第２のタイムスタンプが関連付けられることを指定する情報の少なくとも一方を記憶する回路を含む。
【００２０】
別の態様では、一般に、アプリケーションプログラムと併用する１つ又は複数のルールを管理するシステムが提供される。本システムは、ルールセットのバージョン制御及びビジネスプロセス管理を可能にする統合アプリケーション開発システムにユーザがアクセスできるようにする統合ユーザインターフェースを提供する手段であって、各ルールセットは１つ又は複数のルールを含み、各ルールは、ルールの入力に応じてルールの出力の値を計算する１つ又は複数のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースが所与の入力記録によりトリガーされる、提供する手段と、第１のルールセットの複数のバージョンをリポジトリに記憶する手段と、第１のルールセットの複数のバージョンについての情報を有する少なくとも１つのログデータオブジェクトをリポジトリに記憶する手段と、統合ユーザインターフェースの第１のユーザインターフェースを通して、第１のユーザ識別子が関連付けられた第１のユーザから命令を受信する手段と、第１のユーザからの命令に応答して、リポジトリから第１のルールセットの特定のバージョンを借り出す手段と、第１のユーザからの命令に応答して、第１のルールセットの特定のバージョンを複数の状態の第１の状態から複数の状態の第２の状態に遷移させる手段と、第１のユーザからの命令に応答して、第１のルールセットの特定のバージョンをリポジトリに返却する手段と、第１のルールセットの特定のバージョンが関連付けられたログデータオブジェクトに、（ｉ）第１のユーザ識別子が関連付けられたユーザが、リポジトリから第１のルールセットの特定のバージョンを借り出し、第１のユーザ識別子が関連付けられたユーザが、第１の状態から第２の状態への第１のルールセットの特定のバージョンの遷移を承認したことを指定する情報、又は（ｉｉ）リポジトリからの第１のルールセットの特定のバージョンの借り出しに第１のタイムスタンプが関連付けられ、第１の状態から第２の状態への第１のルールセットの特定のバージョンの遷移に第２のタイムスタンプが関連付けられることを指定する情報の少なくとも一方を記憶する手段とを含む。
【００２１】
別の態様では、一般に、データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールを管理する方法が提供される。本方法は、ルールセットの編集、シミュレーション、ビジネスプロセス管理、及びバージョン制御を可能にする統合アプリケーション開発システムにユーザがアクセスできるようにする統合ユーザインターフェースを提供することであって、各ルールセットは１つ又は複数のルールを含み、各ルールは、ルールの入力に応じてルールの出力の値を計算する１つ又は複数のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースが所与の入力記録によりトリガーされる、提供することと、第１のルールセットの複数のバージョンをリポジトリに記憶することと、第１のルールセットの複数のバージョンについての情報を有する少なくとも１つのログデータオブジェクトをリポジトリに記憶することと、統合ユーザインターフェースの第１のユーザインターフェースを通して、第１のユーザ識別子が関連付けられた第１のユーザから命令を受信することとを含む。本方法は、第１のユーザからの命令に応答して、リポジトリから第１のルールセットの特定のバージョンを借り出すことと、第１のルールセットの特定のバージョンを編集することと、アプリケーションプログラムに第１のルールセットの特定のバージョンを関連付け、第１のルールセットの特定のバージョンのルールに従ってアプリケーションプログラムを実行して、入力記録を処理し、出力を生成することと、第１のルールセットの特定のバージョンを複数の状態の第１の状態から複数の状態の第２の状態に遷移させることと、第１のルールセットの特定のバージョンをリポジトリに返却することとを含む。
【００２２】
態様は、以下の特徴の１つ又は複数を含むことができる。本方法は、第１のルールセットの特定のバージョンに関連付けられたログデータオブジェクトに、（ｉ）第１のユーザ識別子が関連付けられたユーザが、リポジトリから第１のルールセットの特定のバージョンを借り出し、第１のルールセットの特定のバージョンを編集し、第１のルールセットの特定のバージョンを使用してアプリケーションプログラムを実行して、出力を生成し、第１の状態から第２の状態への第１のルールセットの特定のバージョンの遷移を承認したことを指定する情報、又は（ｉｉ）リポジトリからの第１のルールセットの特定のバージョンの借り出しには第１のタイムスタンプが関連付けられ、第１のルールセットの特定のバージョンの編集には第２のタイムスタンプが関連付けられ、第１のルールセットの特定のバージョンを使用したアプリケーションプログラムの実行には第３のタイムスタンプが関連付けられ、第１の状態から第２の状態への特定のルールセットの遷移には第４のタイムスタンプが関連付けられることを指定する情報の少なくとも一方を記憶することを含むことができる。
【００２３】
統合アプリケーション開発システムは、ルールエディタ、シミュレーションモジュール、ビジネスプロセス管理モジュール、及びソースコード制御モジュールを含むことができる。ルールエディタは、第１のユーザ識別子が関連付けられたユーザが第１のルールセットの特定のバージョンを編集したことを指定する情報のログデータオブジェクトへの記憶を処理することができ、シミュレーションモジュールは、第１のユーザ識別子が関連付けられたユーザが、第１のルールセットの編集された特定のバージョンを使用したアプリケーションプログラムを実行したことを指定する情報のログデータオブジェクトへの記録を処理することができ、ビジネスプロセス管理モジュールは、第１のユーザ識別子が関連付けられたユーザが、第１の状態から第２の状態への第１のルールセットの特定のバージョンの遷移を承認したことを指定する情報のログデータオブジェクトへの記憶を処理することができ、ソースコード制御モジュールは、第１のユーザ識別子が関連付けられたユーザが、リポジトリから第１のルールセットの特定のバージョンを借り出したことを指定する情報のログデータオブジェクトへの記憶を処理することができる。
【００２４】
統合アプリケーション開発システムは、ルールエディタ、シミュレーションモジュール、ビジネスプロセス管理モジュール、及びソースコード制御モジュールを含むことができる。ソースコード制御モジュールは、リポジトリからの第１のルールセットの特定のバージョンの借り出しに第１のタイムスタンプが関連付けられることを指定する情報のログデータオブジェクトへの記憶を処理することができ、ルールエディタは、第１のルールセットの特定のバージョンの編集に第２のタイムスタンプが関連付けられることを指定する情報のログデータオブジェクトへの記憶を処理することができ、シミュレーションモジュールは、第１のルールセットの特定のバージョンを使用したアプリケーションプログラムの実行には第３のタイムスタンプが関連付けられることを指定する情報のログデータオブジェクトへの記憶を処理することができ、ビジネスプロセス管理モジュールは、第１の状態から第２の状態への特定のルールセットの遷移には第４のタイムスタンプが関連付けられることを指定する情報のログデータオブジェクトへの記憶を処理することができる。
【００２５】
統合アプリケーション開発システムは、ルールエディタ、シミュレーションモジュール、ビジネスプロセス管理モジュール、及びソースコード制御モジュールを含むことができる。ルールエディタは、第１のルールセットの特定のバージョンの編集を処理することができ、シミュレーションモジュールは、第１のルールセットの特定のバージョンの１つ又は複数のルールに従って入力記録を処理し、出力を生成するアプリケーションプログラムの実行を処理することができ、ビジネスプロセス管理モジュールは、第１の状態から第２の状態への第１のルールセットの特定のバージョンの遷移を処理することができ、ソースコード制御モジュールは、第１のルールセットの特定のバージョンの返却及び借り出しを処理することができる。
【００２６】
別の態様では、一般に、データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールを管理するコンピュータプログラムを記憶するコンピュータ可読媒体が提供される。コンピュータプログラムは、コンピュータシステムに、ルールセットの編集、シミュレーション、ビジネスプロセス管理、及びバージョン制御を可能にする統合アプリケーション開発システムにユーザがアクセスできるようにする統合ユーザインターフェースを提供することであって、各ルールセットは１つ又は複数のルールを含み、各ルールは、ルールの入力に応じてルールの出力の値を計算する１つ又は複数のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースが所与の入力記録によりトリガーされる、提供することと、第１のルールセットの複数のバージョンをリポジトリに記憶することと、第１のルールセットの複数のバージョンについての情報を有する少なくとも１つのログデータオブジェクトをリポジトリに記憶することと、統合ユーザインターフェースの第１のユーザインターフェースを通して、第１のユーザ識別子が関連付けられた第１のユーザから命令を受信することとを、行わせる命令を含む。コンピュータプログラムは、コンピュータシステムに、第１のユーザからの命令に応答して、リポジトリから第１のルールセットの特定のバージョンを借り出すことと、第１のルールセットの特定のバージョンを編集することと、アプリケーションプログラムに第１のルールセットの特定のバージョンを関連付け、第１のルールセットの特定のバージョンのルールに従ってアプリケーションプログラムを実行して、入力記録を処理し、出力を生成することと、第１のルールセットの特定のバージョンを複数の状態の第１の状態から複数の状態の第２の状態に遷移させることと、第１のルールセットの特定のバージョンをリポジトリに返却することとを行わせる命令を含む。
【００２７】
別の態様では、一般に、アプリケーションプログラムと併用する１つ又は複数のルールを管理するシステムが提供される。本システムは、１つ又は複数のルールを記憶するデータ記憶システムと、グラフィカルユーザインターフェースを提供する少なくとも１つの出力デバイス又はポートと、データ記憶システム及び少なくとも１つの出力デバイス又はポートに結合されたコンピュータシステムとを含む。コンピュータシステムは、ルールセットの編集、シミュレーション、ビジネスプロセス管理、及びバージョン制御を可能にする統合アプリケーション開発システムにユーザがアクセスできるようにする統合ユーザインターフェースを提供する回路であって、各ルールセットは１つ又は複数のルールを含み、各ルールは、ルールの入力に応じてルールの出力の値を計算する１つ又は複数のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースが所与の入力記録によりトリガーされる、提供する回路と、第１のルールセットの複数のバージョンをリポジトリに記憶する回路と、第１のルールセットの複数のバージョンについての情報を有する少なくとも１つのログデータオブジェクトをリポジトリに記憶する回路と、統合ユーザインターフェースの第１のユーザインターフェースを通して、第１のユーザ識別子が関連付けられた第１のユーザから命令を受信する回路とを含む。コンピュータシステムは、第１のユーザからの命令に応答して、リポジトリから第１のルールセットの特定のバージョンを借り出す回路と、第１のルールセットの特定のバージョンを編集する回路と、アプリケーションプログラムに第１のルールセットの特定のバージョンを関連付け、第１のルールセットの特定のバージョンのルールに従ってアプリケーションプログラムを実行して、入力記録を処理し、出力を生成する回路と、第１のルールセットの特定のバージョンを複数の状態の第１の状態から複数の状態の第２の状態に遷移させる回路と、第１のルールセットの特定のバージョンをリポジトリに返却する回路とを含む。
【００２８】
別の態様では、一般に、アプリケーションプログラムと併用する１つ又は複数のルールを管理するシステムが提供される。本システムは、ルールセットの編集、シミュレーション、ビジネスプロセス管理、及びバージョン制御を可能にする統合アプリケーション開発システムにユーザがアクセスできるようにする統合ユーザインターフェースを提供する手段であって、各ルールセットは１つ又は複数のルールを含み、各ルールは、ルールの入力に応じてルールの出力の値を計算する１つ又は複数のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースが所与の入力記録によりトリガーされる、提供する手段と、第１のルールセットの複数のバージョン及び第１のルールセットの複数のバージョンについての情報を有する少なくとも１つのログデータオブジェクトを記憶するリポジトリと、第１のユーザ識別子が関連付けられた第１のユーザから命令を受信する統合ユーザインターフェースの第１のユーザインターフェースと、第１のユーザからの命令に応答して、リポジトリから第１のルールセットの特定のバージョンを借り出す手段と、第１のユーザからの命令に応答して、第１のルールセットの特定のバージョンを編集する手段と、第１のユーザからの命令に応答して、アプリケーションプログラムに第１のルールセットの特定のバージョンを関連付ける手段と、第１のユーザからの命令に応答して、第１のルールセットの特定のバージョンのルールに従ってアプリケーションプログラムを実行して、入力記録を処理し、出力を生成する手段と、第１のユーザからの命令に応答して、第１のルールセットの特定のバージョンを複数の状態の第１の状態から複数の状態の第２の状態に遷移させる手段と、第１のユーザからの命令に応答して、第１のルールセットの特定のバージョンをリポジトリに返却する手段とを含む。
【００２９】
別の態様では、一般に、データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールコンテナを管理する方法が提供される。本方法は、ルールコンテナのバージョン制御及びビジネスプロセス管理を可能にする統合アプリケーション開発システムにユーザがアクセスできるようにする統合ユーザインターフェースを提供することであって、各ルールコンテナは２つ以上のルールセットを含み、各ルールセットは１つ又は複数のルールを含み、各ルールは、ルールの入力に応じてルールの出力の値を計算する１つ又は複数のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースが所与の入力記録によりトリガーされる、提供することと、第１のルールコンテナの複数のバージョンをリポジトリに記憶することと、第１のルールコンテナの複数のバージョンについての情報を有する少なくとも１つのログデータオブジェクトをリポジトリに記憶することと、統合ユーザインターフェースの第１のユーザインターフェースを通して、第１のユーザ識別子が関連付けられた第１のユーザから命令を受信することとを含む。本方法は、第１のユーザからの命令に応答して、リポジトリから第１のルールコンテナの特定のバージョンを借り出すことと、第１のルールコンテナの特定のバージョンを複数の状態の第１の状態から複数の状態の第２の状態に遷移させることと、第１のルールコンテナの特定のバージョンをリポジトリに返却することとを含む。本方法は、第１のルールコンテナの特定のバージョンが関連付けられたログデータオブジェクトに、（ｉ）第１のユーザ識別子が関連付けられたユーザが、リポジトリから第１のルールコンテナの特定のバージョンを借り出し、第１のユーザ識別子が関連付けられたユーザが、第１の状態から第２の状態への第１のルールコンテナの特定のバージョンの遷移を承認したことを指定する情報、又は（ｉｉ）リポジトリからの第１のルールコンテナの特定のバージョンの借り出しに第１のタイムスタンプが関連付けられ、第１の状態から第２の状態への第１のルールコンテナの特定のバージョンの遷移に第２のタイムスタンプが関連付けられることを指定する情報の少なくとも一方を記憶することを含む。
【００３０】
態様は、以下の特徴の１つ又は複数を含むことができる。第１の状態は、第１のルールコンテナが、なお編集中のドラフトであることを示すことができ、第２の状態は、第１のルールコンテナがレビューアによるレビュー可能な状態であることを示すことができる。
【００３１】
第１の状態は、第１のルールコンテナが、第１のルールコンテナのリリースを承認する権限を有するユーザによるレビューが可能な状態であることを示すことができ、第２の状態は、第１のルールコンテナが完成し、リリース可能な状態であることを示すことができる。
【００３２】
各ルールセットは、入力データを出力データに変換するソフトウェアモジュール又はデータ処理エンティティの少なくとも一方に対応することができる。
【００３３】
第１のルールコンテナの特定のバージョンは、第１のルールコンテナの特定のバージョンにおけるルールセットのそれぞれへのポインタを含むことができる。
【００３４】
本方法は、第１のユーザからの命令に応答して、第２のルールコンテナの特定のバージョン内のルールセットを「オープン」状態から「提出済み」状態に遷移させることであって、「オープン」状態は、ルールセットがなお編集中であるドラフトであることを示し、「提出済み」状態は、ルールセットがレビュー可能な状態であることを示す、遷移させることを含むことができる。
【００３５】
本方法は、第２のルールコンテナの特定のバージョン内のルールセットの状態の遷移から独立して、第２のルールコンテナの特定のバージョンの状態を遷移させることを含むことができる。
【００３６】
本方法は、第２のルールコンテナの特定のバージョンが「オープン」状態であり、第２のルールコンテナの特定のバージョン内のルールセットの全てが「提出済み」状態であると判断することと、第２のルールコンテナの特定のバージョンが「オープン」状態であり、第２のルールコンテナの特定のバージョン内のルールセットの全てが「提出済み」状態であると判断することに応答して、第２のルールコンテナの特定のバージョンを「オープン」状態から「提出済み」状態に自動的に遷移させることとを含むことができる。
【００３７】
本方法は、第２のユーザからの命令に応答して、第２のルールコンテナの特定のバージョン内のルールセットの１つを「承認済み」状態から「オープン」状態に遷移させることと、第２のルールコンテナの特定のバージョン内のルールセットの１つを「承認済み」状態から「オープン」状態に遷移することに応答して、第２のルールコンテナの特定のバージョンを「承認済み」状態から「オープン」状態に自動的に遷移させることとを含むことができる。
【００３８】
統合アプリケーション開発システムは、ソースコード制御モジュール及びビジネスプロセス管理モジュールを含むことができ、ソースコード制御モジュールは、第１のルールコンテナの特定のバージョンの返却及び借り出しを処理することができ、ビジネスプロセス管理モジュールは、第１の状態から第２の状態への第１のルールコンテナの特定のバージョンの遷移を処理することができる。
【００３９】
ソースコード制御モジュールは、（ｉ）第１のユーザが、リポジトリから第１のルールコンテナの特定のバージョンを借り出したことを指定する情報、又は（ｉｉ）リポジトリからの第１のルールコンテナの特定のバージョンの借り出しには第１のタイムスタンプが関連付けられることを指定する情報の少なくとも一方のログデータオブジェクトへの記憶を処理することができ、ビジネスプロセス管理モジュールは、（ｉ）第１のユーザが、第１の状態から第２の状態への第１のルールコンテナの特定のバージョンの遷移を承認したことを指定する情報、又は（ｉｉ）第１の状態から第２の状態への第１のルールコンテナの特定のバージョンの遷移には第２のタイムスタンプが関連付けられることを指定する情報の少なくとも一方のログデータオブジェクトへの記憶を処理することができる。
【００４０】
本方法は、統合ユーザインターフェースの第２のユーザインターフェースを通して、第２のユーザ識別子が関連付けられた第２のユーザから命令を受信することを含むことができる。本方法は、第２のユーザからの命令に応答して、リポジトリから第１のルールコンテナの特定のバージョンを借り出すことと、実行することであって、（ｉ）アプリケーションプログラムに第１のルールコンテナの特定のバージョンを関連付け、第１のルールコンテナの特定のバージョンのルールセットのルールに従ってアプリケーションプログラムを実行して、入力記録を処理し、出力を生成すること、又は（ｉｉ）第１のルールコンテナの特定のバージョンのルールセットのルールに従って入力記録を処理して、出力を生成するアプリケーションプログラムの前の実行から生成された、記憶された出力を検索することの少なくとも一方を実行することとを含むことができる。本方法は、第１のルールコンテナの特定のバージョンをリポジトリに返却することを含むことができる。
【００４１】
本方法は、第１のルールコンテナの特定のバージョンが関連付けられたログデータオブジェクトに、（ｉ）第２のユーザ識別子が関連付けられたユーザが、リポジトリから第１のルールコンテナの特定のバージョンを借り出し、第２のユーザ識別子が関連付けられたユーザが、第１のルールコンテナの特定のバージョンを使用してアプリケーションプログラムを実行して、出力を生成したことを指定する情報、（ｉｉ）第２のユーザ識別子が関連付けられたユーザが、リポジトリから第１のルールコンテナの特定のバージョンを借り出し、第２のユーザ識別子が関連付けられたユーザが、第１のルールコンテナの特定のバージョンを使用したアプリケーションプログラムの前の実行から生成された、記憶された出力を検索したことを指定する情報、（ｉｉｉ）リポジトリからの第１のルールコンテナの特定のバージョンの借り出しに、第３のタイムスタンプが関連付けられ、第１のルールコンテナの特定のバージョンを使用して出力を生成するアプリケーションプログラムの実行に第４のタイムスタンプが関連付けられることを指定する情報、又は（ｉｖ）リポジトリからの第１のルールコンテナの特定のバージョンの借り出しに、第３のタイムスタンプが関連付けられ、第１のルールコンテナの特定のバージョンを使用したアプリケーションプログラムの前の実行から生成された、記憶された出力の検索に第４のタイムスタンプが関連付けられることを指定する情報の少なくとも１つを記憶することを含むことができる。
【００４２】
統合アプリケーション開発システムは、ソースコード制御モジュール及びシミュレーションモジュールを含むことができる。ソースコード制御モジュールは、（ｉ）第２のユーザ識別子が関連付けられたユーザが、リポジトリから第１のルールコンテナの特定のバージョンを借り出したことを指定する情報、又は（ｉｉ）リポジトリからの第１のルールコンテナの特定のバージョンの借り出しに第１のタイムスタンプが関連付けられることを指定する情報の少なくとも一方のログデータオブジェクトへの記憶を処理することができる。シミュレーションモジュールは、（ｉ）第２のユーザ識別子が関連付けられたユーザが、第１のルールコンテナの特定のバージョンを使用して出力を生成するアプリケーションプログラムを実行したことを指定する情報、（ｉｉ）第２のユーザ識別子が関連付けられたユーザが、第１のルールコンテナの特定のバージョンを使用したアプリケーションプログラムの前の実行から生成された、記憶された出力を検索することを指定する情報、（ｉｉｉ）第１のルールコンテナの特定のバージョンを使用して出力を生成するアプリケーションプログラムの実行に第２のタイムスタンプが関連付けられることを指定する情報、又は（ｉｖ）第１のルールコンテナの特定のバージョンを使用したアプリケーションプログラムの前の実行から生成された、記憶された出力の検索に第２のタイムスタンプが関連付けられることを指定する情報の少なくとも１つのログデータオブジェクトへの記録を処理する。
【００４３】
統合アプリケーション開発システムは、ソースコード制御モジュール及びシミュレーションモジュールを含むことができ、ソースコード制御モジュールは、第１のルールコンテナの特定のバージョンの返却及び借り出しを処理することができ、シミュレーションモジュールは、第１のルールコンテナの特定のバージョンのルールに従って入力記録を処理し、出力を生成するアプリケーションプログラムの実行を処理することができる。
【００４４】
第１のユーザインターフェースは、第１のユーザのコンピュータ端末において提供することができ、第２のユーザインターフェースは、第２のユーザのコンピュータ端末において提供することができる。
【００４５】
本方法は、第１のユーザからの命令に応答して、第１のルールコンテナの特定のバージョンを編集することと、第１のルールコンテナの編集された特定のバージョンをリポジトリに記憶することとを含むことができる。本方法は、第１のルールコンテナの特定のバージョンに関連付けられたログデータオブジェクトに、（ｉ）第１のユーザが第１のルールコンテナの特定のバージョンを編集したことを指定する情報、又は（ｉｉ）第１のルールコンテナの特定のバージョンの変更に第３のタイムスタンプが関連付けられることを指定する情報の少なくとも一方を記憶することを含むことができる。
【００４６】
統合アプリケーション開発システムは、ソースコード制御モジュール、ビジネスプロセス管理モジュール、及びルールエディタを含むことができる。ソースコード制御モジュールは、第１のルールコンテナの特定のバージョンの借り出しを処理することができ、ビジネスプロセス管理モジュールは、第１の状態から第２の状態への第１のルールコンテナの特定のバージョンの遷移を処理することができ、ルールエディタは、第１のルールコンテナの特定のバージョンの編集を処理することができる。
【００４７】
別の態様では、一般に、データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールコンテナを管理するコンピュータプログラムを記憶するコンピュータ可読媒体が提供される。コンピュータプログラムは、コンピュータシステムに、ルールコンテナのバージョン制御及びビジネスプロセス管理を可能にする統合アプリケーション開発システムにユーザがアクセスできるようにする統合ユーザインターフェースを提供することであって、各ルールコンテナは２つ以上のルールセットを含み、各ルールセットは１つ又は複数のルールを含み、各ルールは、ルールの入力に応じてルールの出力の値を計算する１つ又は複数のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースが所与の入力記録によりトリガーされる、提供することと、第１のルールコンテナの複数のバージョンをリポジトリに記憶することと、第１のルールコンテナの複数のバージョンについての情報を有する少なくとも１つのログデータオブジェクトをリポジトリに記憶することと、統合ユーザインターフェースの第１のユーザインターフェースを通して、第１のユーザ識別子が関連付けられた第１のユーザから命令を受信することとを行わせる命令を含む。コンピュータプログラムは、コンピュータシステムに、第１のユーザからの命令に応答して、リポジトリから第１のルールコンテナの特定のバージョンを借り出すことと、第１のルールコンテナの特定のバージョンを複数の状態の第１の状態から複数の状態の第２の状態に遷移させることと、第１のルールコンテナの特定のバージョンをリポジトリに返却することとを行わせる命令を含む。コンピュータプログラムは、コンピュータシステムに、第１のルールコンテナの特定のバージョンが関連付けられたログデータオブジェクトに、（ｉ）第１のユーザ識別子が関連付けられたユーザが、リポジトリから第１のルールコンテナの特定のバージョンを借り出し、第１のユーザ識別子が関連付けられたユーザが、第１の状態から第２の状態への第１のルールコンテナの特定のバージョンの遷移を承認したことを指定する情報、又は（ｉｉ）リポジトリからの第１のルールコンテナの特定のバージョンの借り出しに第１のタイムスタンプが関連付けられ、第１の状態から第２の状態への第１のルールコンテナの特定のバージョンの遷移に第２のタイムスタンプが関連付けられることを指定する情報の少なくとも一方を記憶することを行わせる命令を含む。
【００４８】
別の態様では、一般に、アプリケーションプログラムと併用する１つ又は複数のルールコンテナを管理するシステムが提供される。本システムは、１つ又は複数のルールコンテナを記憶するデータ記憶システムと、グラフィカルユーザインターフェースを提供する少なくとも１つの出力デバイス又はポートと、データ記憶システム及び少なくとも１つの出力デバイス又はポートに結合されるコンピュータシステムとを含む。コンピュータシステムは、ルールコンテナのバージョン制御及びビジネスプロセス管理を可能にする統合アプリケーション開発システムにユーザがアクセスできるようにする統合ユーザインターフェースを提供する回路であって、各ルールコンテナは２つ以上のルールセットを含み、各ルールセットは１つ又は複数のルールを含み、各ルールは、ルールの入力に応じてルールの出力の値を計算する１つ又は複数のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースが所与の入力記録によりトリガーされる、提供する回路と、第１のルールコンテナの複数のバージョンをリポジトリに記憶する回路と、第１のルールコンテナの複数のバージョンについての情報を有する少なくとも１つのログデータオブジェクトをリポジトリに記憶する回路と、統合ユーザインターフェースの第１のユーザインターフェースを通して、第１のユーザ識別子が関連付けられた第１のユーザから命令を受信する回路とを含む。コンピュータシステムは、第１のユーザからの命令に応答して、リポジトリから第１のルールコンテナの特定のバージョンを借り出す回路と、第１のルールコンテナの特定のバージョンを複数の状態の第１の状態から複数の状態の第２の状態に遷移させる回路と、第１のルールコンテナの特定のバージョンをリポジトリに返却する回路とを含む。コンピュータシステムは、第１のルールコンテナの特定のバージョンが関連付けられたログデータオブジェクトに、（ｉ）第１のユーザ識別子が関連付けられたユーザが、リポジトリから第１のルールコンテナの特定のバージョンを借り出し、第１のユーザ識別子が関連付けられたユーザが、第１の状態から第２の状態への第１のルールコンテナの特定のバージョンの遷移を承認したことを指定する情報、又は（ｉｉ）リポジトリからの第１のルールコンテナの特定のバージョンの借り出しに第１のタイムスタンプが関連付けられ、第１の状態から第２の状態への第１のルールコンテナの特定のバージョンの遷移に第２のタイムスタンプが関連付けられることを指定する情報の少なくとも一方を記憶する回路を含む。
【００４９】
別の態様では、一般に、アプリケーションプログラムと併用する１つ又は複数のルールを管理するシステムが提供される。本システムは、ルールコンテナのバージョン制御及びビジネスプロセス管理を可能にする統合アプリケーション開発システムにユーザがアクセスできるようにする統合ユーザインターフェースを提供する手段であって、各ルールコンテナは２つ以上のルールセットを含み、各ルールセットは１つ又は複数のルールを含み、各ルールは、ルールの入力に応じてルールの出力の値を計算する１つ又は複数のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースが所与の入力記録によりトリガーされる、提供する手段と、第１のルールコンテナの複数のバージョン及び第１のルールコンテナの複数のバージョンについての情報を有する少なくとも１つのログデータオブジェクトを記憶するリポジトリと、第１のユーザ識別子が関連付けられた第１のユーザから命令を受信する統合ユーザインターフェースの第１のユーザインターフェースと、第１のユーザからの命令に応答して、リポジトリから第１のルールコンテナの特定のバージョンを借り出す手段と、第１のユーザからの命令に応答して、第１のルールコンテナの特定のバージョンを複数の状態の第１の状態から複数の状態の第２の状態に遷移させる手段と、第１のユーザからの命令に応答して、第１のルールコンテナの特定のバージョンをリポジトリに返却する手段とを含む。本システムは、第１のルールコンテナの特定のバージョンが関連付けられたログデータオブジェクトに、（ｉ）第１のユーザ識別子が関連付けられたユーザが、リポジトリから第１のルールコンテナの特定のバージョンを借り出し、第１のユーザ識別子が関連付けられたユーザが、第１の状態から第２の状態への第１のルールコンテナの特定のバージョンの遷移を承認したことを指定する情報、又は（ｉｉ）リポジトリからの第１のルールコンテナの特定のバージョンの借り出しに第１のタイムスタンプが関連付けられ、第１の状態から第２の状態への第１のルールコンテナの特定のバージョンの遷移に第２のタイムスタンプが関連付けられることを指定する情報の少なくとも一方を記憶する手段を含む。
【００５０】
別の態様では、一般に、データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールを管理する方法が提供される。本方法は、ルールコンテナの編集、シミュレーション、ビジネスプロセス管理、及びバージョン制御を可能にする統合アプリケーション開発システムにユーザがアクセスできるようにする統合ユーザインターフェースを提供することであって、各ルールコンテナは２つ以上のルールセットを含み、各ルールセットは１つ又は複数のルールを含み、各ルールは、ルールの入力に応じてルールの出力の値を計算する１つ又は複数のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースが所与の入力記録によりトリガーされる、提供することと、第１のルールコンテナの複数のバージョンをリポジトリに記憶することと、第１のルールコンテナの複数のバージョンについての情報を有する少なくとも１つのログデータオブジェクトをリポジトリに記憶することと、統合ユーザインターフェースの第１のユーザインターフェースを通して、第１のユーザ識別子が関連付けられた第１のユーザから命令を受信することとを含む。本方法は、第１のユーザからの命令に応答して、リポジトリから第１のルールコンテナの特定のバージョンを借り出すことと、第１のルールコンテナの特定のバージョンを編集することと、アプリケーションプログラムに第１のルールコンテナの特定のバージョンを関連付け、第１のルールコンテナの特定のバージョンのルールに従ってアプリケーションプログラムを実行して、入力記録を処理し、出力を生成することと、第１のルールコンテナの特定のバージョンを複数の状態の第１の状態から複数の状態の第２の状態に遷移させることと、第１のルールコンテナの特定のバージョンをリポジトリに返却することとを含む。
【００５１】
態様は、以下の特徴の１つ又は複数を含むことができる。本方法は、第１のルールコンテナの特定のバージョンに関連付けられたログデータオブジェクトに、（ｉ）第１のユーザ識別子が関連付けられたユーザが、リポジトリから第１のルールコンテナの特定のバージョンを借り出し、第１のルールコンテナの特定のバージョンを編集し、第１のルールコンテナの特定のバージョンを使用してアプリケーションプログラムを実行して、出力を生成し、第１の状態から第２の状態への第１のルールコンテナの特定のバージョンの遷移を承認したことを指定する情報、又は（ｉｉ）リポジトリからの第１のルールコンテナの特定のバージョンの借り出しには第１のタイムスタンプが関連付けられ、第１のルールコンテナの特定のバージョンの編集には第２のタイムスタンプが関連付けられ、第１のルールコンテナの特定のバージョンを使用したアプリケーションプログラムの実行には第３のタイムスタンプが関連付けられ、第１の状態から第２の状態への特定のルールコンテナの遷移には第４のタイムスタンプが関連付けられることを指定する情報の少なくとも一方を記憶することを含むことができる。
【００５２】
統合アプリケーション開発システムは、ルールエディタ、シミュレーションモジュール、ビジネスプロセス管理モジュール、及びソースコード制御モジュールを含むことができる。ルールエディタは、第１のユーザ識別子が関連付けられたユーザが、第１のルールコンテナの特定のバージョンを編集したことを指定する情報のログデータオブジェクトへの記憶を処理することができ、シミュレーションモジュールは、第１のユーザ識別子が関連付けられたユーザが、第１のルールコンテナの特定のバージョンを使用したアプリケーションプログラムを実行したことを指定する情報のログデータオブジェクトへの記録を処理することができ、ビジネスプロセス管理モジュールは、第１のユーザ識別子が関連付けられたユーザが、第１の状態から第２の状態への第１のルールコンテナの特定のバージョンの遷移を承認したことを指定する情報のログデータオブジェクトへの記憶を処理することができ、ソースコード制御モジュールは、第１のユーザ識別子が関連付けられたユーザが、リポジトリから第１のルールコンテナの特定のバージョンを借り出したことを指定する情報のログデータオブジェクトへの記憶を処理することができる。
【００５３】
統合アプリケーション開発システムは、ルールエディタ、シミュレーションモジュール、ビジネスプロセス管理モジュール、及びソースコード制御モジュールを含むことができる。ソースコード制御モジュールは、リポジトリからの第１のルールコンテナの特定のバージョンの借り出しに第１のタイムスタンプが関連付けられることを指定する情報のログデータオブジェクトへの記憶を処理することができ、ルールエディタは、第１のルールコンテナの特定のバージョンの編集に第２のタイムスタンプが関連付けられることを指定する情報のログデータオブジェクトへの記憶を処理することができ、シミュレーションモジュールは、第１のルールコンテナの特定のバージョンを使用したアプリケーションプログラムの実行には第３のタイムスタンプが関連付けられることを指定する情報のログデータオブジェクトへの記憶を処理することができ、ビジネスプロセス管理モジュールは、第１の状態から第２の状態への特定のルールコンテナの遷移には第４のタイムスタンプが関連付けられることを指定する情報のログデータオブジェクトへの記憶を処理することができる。
【００５４】
統合アプリケーション開発システムは、ルールエディタ、シミュレーションモジュール、ビジネスプロセス管理モジュール、及びソースコード制御モジュールを含むことができる。ルールエディタは、第１のルールコンテナの特定のバージョンの編集を処理することができ、シミュレーションモジュールは、第１のルールコンテナの特定のバージョンのルールに従って入力記録を処理し、出力を生成するアプリケーションプログラムの実行を処理することができ、ビジネスプロセス管理モジュールは、第１の状態から第２の状態への第１のルールコンテナの特定のバージョンの遷移を処理することができ、ソースコード制御モジュールは、第１のルールコンテナの特定のバージョンの返却及び借り出しを処理することができる。
【００５５】
別の態様では、一般に、データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールを管理するコンピュータプログラムを記憶するコンピュータ可読媒体が提供される。コンピュータプログラムは、コンピュータシステムに、ルールコンテナの編集、シミュレーション、ビジネスプロセス管理、及びバージョン制御を可能にする統合アプリケーション開発システムにユーザがアクセスできるようにする統合ユーザインターフェースを提供することであって、各ルールコンテナは２つ以上のルールセットを含み、各ルールセットは１つ又は複数のルールを含み、各ルールは、ルールの入力に応じてルールの出力の値を計算する１つ又は複数のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースが所与の入力記録によりトリガーされる、提供することと、第１のルールコンテナの複数のバージョンをリポジトリに記憶することと、第１のルールコンテナの複数のバージョンについての情報を有する少なくとも１つのログデータオブジェクトをリポジトリに記憶することと、統合ユーザインターフェースの第１のユーザインターフェースを通して、第１のユーザ識別子が関連付けられた第１のユーザから命令を受信することとを行わせる命令を含む。コンピュータプログラムは、コンピュータシステムに、第１のユーザからの命令に応答して、リポジトリから第１のルールコンテナの特定のバージョンを借り出すことと、第１のルールコンテナの特定のバージョンを編集することと、アプリケーションプログラムに第１のルールコンテナの特定のバージョンを関連付け、第１のルールコンテナの特定のバージョンのルールに従ってアプリケーションプログラムを実行して、入力記録を処理し、出力を生成することと、第１のルールコンテナの特定のバージョンを複数の状態の第１の状態から複数の状態の第２の状態に遷移させることと、第１のルールコンテナの特定のバージョンをリポジトリに返却することとを行わせる命令を含む。
【００５６】
別の態様では、一般に、アプリケーションプログラムと併用する１つ又は複数のルールを管理するシステムが提供される。本システムは、１つ又は複数のルールを記憶するデータ記憶システムと、グラフィカルユーザインターフェースを提供する少なくとも１つの出力デバイス又はポートと、データ記憶システム及び少なくとも１つの出力デバイス又はポートに結合されるコンピュータシステムとを含む。コンピュータシステムは、ルールコンテナの編集、シミュレーション、ビジネスプロセス管理、及びバージョン制御を可能にする統合アプリケーション開発システムにユーザがアクセスできるようにする統合ユーザインターフェースを提供する回路であって、各ルールコンテナは２つ以上のルールセットを含み、各ルールセットは１つ又は複数のルールを含み、各ルールは、ルールの入力に応じてルールの出力の値を計算する１つ又は複数のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースが所与の入力記録によりトリガーされる、提供する回路と、第１のルールコンテナの複数のバージョンをリポジトリに記憶する回路と、第１のルールコンテナの複数のバージョンについての情報を有する少なくとも１つのログデータオブジェクトをリポジトリに記憶する回路と、統合ユーザインターフェースの第１のユーザインターフェースを通して、第１のユーザ識別子が関連付けられた第１のユーザから命令を受信する回路とを含む。コンピュータシステムは、第１のユーザからの命令に応答して、リポジトリから第１のルールコンテナの特定のバージョンを借り出す回路と、第１のルールコンテナの特定のバージョンを編集する回路と、アプリケーションプログラムに第１のルールコンテナの特定のバージョンを関連付け、第１のルールコンテナの特定のバージョンのルールに従ってアプリケーションプログラムを実行して、入力記録を処理し、出力を生成する回路と、第１のルールコンテナの特定のバージョンを複数の状態の第１の状態から複数の状態の第２の状態に遷移させる回路と、第１のルールコンテナの特定のバージョンをリポジトリに返却する回路とを含む。
【００５７】
別の態様では、一般に、アプリケーションプログラムと併用する１つ又は複数のルールを管理するシステムが提供される。本システムは、ルールコンテナの編集、シミュレーション、ビジネスプロセス管理、及びバージョン制御を可能にする統合アプリケーション開発システムにユーザがアクセスできるようにする統合ユーザインターフェースを提供する手段であって、各ルールコンテナは２つ以上のルールセットを含み、各ルールセットは１つ又は複数のルールを含み、各ルールは、ルールの入力に応じてルールの出力の値を計算する１つ又は複数のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースが所与の入力記録によりトリガーされる、提供する手段と、第１のルールコンテナの複数のバージョン及び第１のルールコンテナの複数のバージョンについての情報を有する少なくとも１つのログデータオブジェクトを記憶するリポジトリと、第１のユーザ識別子が関連付けられた第１のユーザから命令を受信する統合ユーザインターフェースの第１のユーザインターフェースと、第１のユーザからの命令に応答して、リポジトリから第１のルールコンテナの特定のバージョンを借り出す手段と、第１のユーザからの命令に応答して、第１のルールコンテナの特定のバージョンを編集する手段と、第１のユーザからの命令に応答して、アプリケーションプログラムに第１のルールコンテナの特定のバージョンを関連付ける手段と、第１のユーザからの命令に応答して、第１のルールコンテナの特定のバージョンのルールに従ってアプリケーションプログラムを実行して、入力記録を処理し、出力を生成する手段と、第１のユーザからの命令に応答して、第１のルールコンテナの特定のバージョンを複数の状態の第１の状態から複数の状態の第２の状態に遷移させる手段と、第１のユーザからの命令に応答して、第１のルールコンテナの特定のバージョンをリポジトリに返却する手段とを含む。
【００５８】
別の態様では、一般に、データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールを管理する方法が提供される。本方法は、ルールコンテナの編集、ビジネスプロセス管理、及びバージョン制御を可能にする統合アプリケーション開発システムにユーザがアクセスできるようにする統合ユーザインターフェースを提供することであって、各ルールコンテナは２つ以上のルールセットを含み、各ルールセットは１つ又は複数のルールを含み、各ルールは、ルールの入力に応じてルールの出力の値を計算する１つ又は複数のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースが所与の入力記録によりトリガーされる、提供することと、第１のルールの複数のバージョンをリポジトリに記憶することと、第１のルールコンテナの複数のバージョンについての情報を有する少なくとも１つのログデータオブジェクトをリポジトリに記憶することと、統合ユーザインターフェースの第１のユーザインターフェースを通して、第１のユーザ識別子が関連付けられた第１のユーザから命令を受信することとを含む。本方法は、第１のユーザからの命令に応答して、リポジトリから第１のルールの特定のバージョンを借り出すことであって、第１のルールの特定のバージョンは、第１のルールコンテナに含まれる、借り出すことと、第１のルールの特定のバージョンを編集することと、第１のルールの特定のバージョンに「承認済み」状態を割り当てることとを含む。本方法は、第１のルールの特定のバージョンに「承認済み」状態が割り当てられた後、「オープン」状態又は「オープン」状態と同等の状態である第１のルールコンテナのバージョンが存在すると自動的に判断することであって、「オープン」状態は、第１のルールコンテナが、なお編集可能なドラフトモードであることを示す、自動的に判断することとを含む。本方法は、「オープン」状態又は「オープン」状態と同等の状態である第１のルールコンテナのバージョンがあるとの判断に応答して、「オープン」状態又は「オープン」状態と同等の状態である第１のルールコンテナのバージョンに第１のルールの特定のバージョンを追加することを含む。
【００５９】
態様は、以下の特徴の１つ又は複数を含むことができる。本方法は、第１のユーザからの命令に応答して、第１のルールの特定のバージョンに「承認済み」状態が割り当てられた後、「オープン」状態又は「オープン」状態と同等の状態である第１のルールコンテナのバージョンが存在しないと自動的に判断することを含むことができる。本方法は、「オープン」状態又は「オープン」状態と同等の状態である第１のルールコンテナのバージョンが存在しないとの判断に応答して、自動的に、第１のルールコンテナの新規バージョンを生成し、第１のルールコンテナの新規バージョンに「オープン」状態を割り当て、第１のルールの特定のバージョンを第１のルールコンテナの新規バージョンに追加することとを含むことができる。
【００６０】
別の態様では、一般に、データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールコンテナを管理するコンピュータプログラムを記憶するコンピュータ可読媒体が提供される。コンピュータプログラムは、コンピュータシステムに、ルールコンテナの編集、ビジネスプロセス管理、及びバージョン制御を可能にする統合アプリケーション開発システムにユーザがアクセスできるようにする統合ユーザインターフェースを提供することであって、各ルールコンテナは２つ以上のルールセットを含み、各ルールセットは１つ又は複数のルールを含み、各ルールは、ルールの入力に応じてルールの出力の値を計算する１つ又は複数のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースが所与の入力記録によりトリガーされる、提供することと、第１のルールコンテナの複数のバージョンをリポジトリに記憶することと、第１のルールコンテナの複数のバージョンについての情報を有する少なくとも１つのログデータオブジェクトをリポジトリに記憶することと、統合ユーザインターフェースの第１のユーザインターフェースを通して、第１のユーザ識別子が関連付けられた第１のユーザから命令を受信することと、第１のユーザからの命令に応答して、リポジトリから第１のルールの特定のバージョンを借り出すことであって、第１のルールの特定のバージョンは、第１のルールコンテナに含まれる、借り出すことと、第１のルールの特定のバージョンを編集することと、第１のルールの特定のバージョンに「承認済み」状態を割り当てることとを行わせる命令を含む。コンピュータプログラムは、コンピュータシステムに、第１のルールの特定のバージョンに「承認済み」状態が割り当てられた後、「オープン」状態又は「オープン」状態と同等の状態である第１のルールコンテナのバージョンが存在すると自動的に判断することであって、「オープン」状態は、第１のルールコンテナが、なお編集可能なドラフトモードであることを示す、自動的に判断することを行わせる命令を含む。コンピュータプログラムは、コンピュータシステムに、「オープン」状態又は「オープン」状態と同等の状態である第１のルールコンテナのバージョンがあるとの判断に応答して、「オープン」状態又は「オープン」状態と同等の状態である第１のルールコンテナのバージョンに第１のルールの特定のバージョンを追加することを行わせる命令を含む。
【００６１】
別の態様では、一般に、アプリケーションプログラムと併用する１つ又は複数のルールコンテナを管理するシステムが提供される。本システムは、１つ又は複数のルールコンテナを記憶するデータ記憶システムと、グラフィカルユーザインターフェースを提供する少なくとも１つの出力デバイス又はポートと、データ記憶システム及び少なくとも１つの出力デバイス又はポートに結合されるコンピュータシステムとを含む。コンピュータシステムは、ルールコンテナの編集、ビジネスプロセス管理、及びバージョン制御を可能にする統合アプリケーション開発システムにユーザがアクセスできるようにする統合ユーザインターフェースを提供する回路であって、各ルールコンテナは２つ以上のルールセットを含み、各ルールセットは１つ又は複数のルールを含み、各ルールは、ルールの入力に応じてルールの出力の値を計算する１つ又は複数のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースが所与の入力記録によりトリガーされる、提供する回路と、第１のルールの複数のバージョンをリポジトリに記憶する回路と、第１のルールコンテナの複数のバージョンについての情報を有する少なくとも１つのログデータオブジェクトをリポジトリに記憶する回路と、統合ユーザインターフェースの第１のユーザインターフェースを通して、第１のユーザ識別子が関連付けられた第１のユーザから命令を受信する回路とを含む。コンピュータシステムは、第１のユーザからの命令に応答して、リポジトリから第１のルールの特定のバージョンを借り出す回路であって、第１のルールの特定のバージョンは、第１のルールコンテナに含まれる、借り出す回路と、第１のルールの特定のバージョンを編集する回路と、第１のルールの特定のバージョンに「承認済み」状態を割り当てる回路とを含む。コンピュータシステムは、第１のルールの特定のバージョンに「承認済み」状態が割り当てられた後、「オープン」状態又は「オープン」状態と同等の状態である第１のルールコンテナのバージョンが存在すると自動的に判断する回路であって、「オープン」状態は、第１のルールコンテナが、なお編集可能なドラフトモードであることを示す、自動的に判断する回路を含む。コンピュータシステムは、「オープン」状態又は「オープン」状態と同等の状態である第１のルールコンテナのバージョンがあるとの判断に応答して、「オープン」状態又は「オープン」状態と同等の状態である第１のルールコンテナのバージョンに第１のルールの特定のバージョンを追加する回路を含む。
【００６２】
別の態様では、一般に、アプリケーションプログラムと併用する１つ又は複数のルールを管理するシステムが提供される。本システムは、ルールコンテナの編集、ビジネスプロセス管理、及びバージョン制御を可能にする統合アプリケーション開発システムにユーザがアクセスできるようにする統合ユーザインターフェースを提供する手段であって、各ルールコンテナは２つ以上のルールセットを含み、各ルールセットは１つ又は複数のルールを含み、各ルールは、ルールの入力に応じてルールの出力の値を計算する１つ又は複数のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースが所与の入力記録によりトリガーされる、提供する手段と、第１のルールの複数のバージョン及び第１のルールコンテナの複数のバージョンについての情報を有する少なくとも１つのログデータオブジェクトを記憶するリポジトリと、第１のユーザ識別子が関連付けられた第１のユーザから命令を受信する統合ユーザインターフェースの第１のユーザインターフェースと、第１のユーザからの命令に応答して、リポジトリから第１のルールの特定のバージョンを借り出す手段であって、第１のルールの特定のバージョンは、第１のルールコンテナに含まれる、借り出す手段と、第１のユーザからの命令に応答して、第１のルールの特定のバージョンを編集する手段と、第１のユーザからの命令に応答して、第１のルールの特定のバージョンに「承認済み」状態を割り当てる手段と、第１のルールの特定のバージョンに「承認済み」状態が割り当てられた後、「オープン」状態又は「オープン」状態と同等の状態である第１のルールコンテナのバージョンが存在すると自動的に判断する手段であって、「オープン」状態は、第１のルールコンテナが、なお編集可能なドラフトモードであることを示す、自動的に判断する手段と、「オープン」状態又は「オープン」状態と同等の状態である第１のルールコンテナのバージョンがあるとの判断に応答して、「オープン」状態又は「オープン」状態と同等の状態である第１のルールコンテナのバージョンに第１のルールの特定のバージョンを追加する手段とを含む。
【００６３】
別の態様では、一般に、データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールを管理する方法が提供される。本方法は、ルール仕様の返却及び借り出し、ルールセットの編集、及び状態遷移情報の受信を可能にする、第１の統合ユーザインターフェースを提供することと、第１のユーザインターフェースを通して第１のユーザ識別子が関連付けられた第１のユーザから第１の命令を受信することと、第１のユーザからの第１の命令に応答して、リポジトリからルール仕様を借り出すことであって、ルール仕様は第１のバージョン番号を有し、１組のルールを含むルールセットを指定し、各ルールは、ルールの入力に応じてルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースは所与の入力記録によりトリガーされる、借り出すことと、第１の統合ユーザインターフェースを通して第１のユーザから編集命令を受信することと、第１のユーザからの編集命令に基づいてルール仕様を改訂することと、ルールセットに複数の状態の第１の状態を関連付けることと、第１の統合ユーザインターフェースを通して第１のユーザから第２の命令を受信することと、第１のユーザからの第２の命令に応答して、第２のバージョン番号をルール仕様に割り当てることと、第２の統合ユーザインターフェースを通して、第２のユーザ識別子が関連付けられた第２のユーザから、ルールセットに関連付けられた遷移情報を受信することと、遷移情報及びルールセット及び第１の状態に関連付けられた許可された遷移に基づいて、ルールセットに複数の状態の第２の状態を関連付けることであって、第２の状態は第１の状態と異なる、関連付けることと、リポジトリに、ルール仕様の第２のバージョンの変更を第１のユーザ識別子に関連付ける第１のデータ及び第１の状態から第２の状態への遷移を第２のユーザ識別子に関連付ける第２のデータを記憶することとを含む。
【００６４】
態様は、以下の特徴の１つ又は複数を含むことができる。本方法は、ログデータオブジェクトに、ルール仕様の第２のバージョンがレポジトリに返却されたときを示す第１のタイムスタンプ及び現在状態がルール仕様に関連付けられたときを示す第２のタイムスタンプを記憶することを含むことができる。
【００６５】
本方法は、アプリケーションプログラムにルールセットを関連付けることと、ルールセットのルールに従ってアプリケーションプログラムを実行して、入力記録を処理し、出力を生成することとを含むことができる。第１の統合ユーザインターフェース又は第２の統合ユーザインターフェースの少なくとも一方はまた、ルールセットのルールに従ってアプリケーションプログラムを実行して、記録を処理できるようにもする。
【００６６】
本方法は、ルール仕様の複数のバージョンをリポジトリに記憶することと、ルール仕様の各バージョンで、ルール仕様の最新の変更に関連付けられたユーザ識別子についての情報を有する第１のデータを記憶し、ルール仕様により指定されたルールセットに関連付けられた現在状態の割り当て又は前の状態から現在状態への遷移に関連付けられたユーザ識別子についての情報を有する第２のデータを記憶することとを含むことができる。
【００６７】
本方法は、ルール仕様の各バージョンで、ルール仕様がリポジトリに返却されたときを示す第１のタイムスタンプ及び現在状態がルール仕様に関連付けられたときを示す第２のタイムスタンプを記憶することを含むことができる。
【００６８】
本方法は、リポジトリからルール仕様の特定のバージョンを検索することと、ルール仕様の最新の変更に関連付けられたユーザ識別子と、ルール仕様により指定されたルールセットに関連付けられた現在状態の割り当て及び前の状態から現在状態への遷移に関連付けられたユーザ識別子とを表示することとを含むことができる。
【００６９】
本方法は、統合ユーザインターフェースに、ユーザがルール仕様の特定のバージョンを選択できるようにする第１の表示入力要素を提供することと、統合ユーザインターフェースに、ユーザが、ルール仕様の選択されたバージョンにより指定されたルールセットをアプリケーションプログラムに関連付け、ルール仕様の選択されたバージョンにより指定されたルールセットのルールに従ってアプリケーションプログラムを実行して、入力記録を処理し、出力を生成できるようにする第２の表示入力要素を提供することとを含むことができる。
【００７０】
本方法は、リポジトリにルール仕様の複数のバージョンを記憶することと、ルール仕様の各バージョンで、ルール仕様の最新の変更に関連付けられたユーザ識別子についての情報を有する第１のデータを記憶し、ルール仕様により指定されたルールセットに関連付けられた現在状態の割り当て又は前の状態から現在状態への遷移に関連付けられたユーザ識別子についての情報を有する第２のデータを記憶することとを含むことができる。
【００７１】
本方法は、ルール仕様の各バージョンで、ルール仕様がリポジトリに返却されたときを示す第１のタイムスタンプ及び現在状態がルール仕様に関連付けられたときを示す第２のタイムスタンプを記憶することを含むことができる。
【００７２】
本方法は、ルール仕様の複数のバージョンをリポジトリに記憶することと、ルール仕様の各バージョンで、１人又は複数のユーザが初期状態をルールセットに割り当てるか、又はある状態から別の状態にルールセットを遷移させることを可能にすることと、ルール仕様が借り出されたときと比較して変更された状態でルール仕様がリポジトリに返却される都度、ルールセットへの初期状態の割り当て又はある状態から別の状態へのルールセットの遷移に、ルールセットに関連付けられた状態を変更したユーザのユーザ識別子を関連付けるデータを記憶することと、状態が変更されたときを示すタイムスタンプを記憶することとを含むことができる。
【００７３】
本方法は、統合ユーザインターフェースにおいて、ユーザがルール仕様の特定のバージョンを選択できるようにする第１の表示入力要素を提供することと、統合ユーザインターフェースにおいて、ユーザが特定の時間を選択できるようにする第２の表示入力要素を提供することと、統合ユーザインターフェースにおいて、ユーザが、ルール仕様の選択されたバージョンにより指定されたルールセットをアプリケーションプログラムに関連付けられるようにする第３の表示入力要素を提供することと、ルール仕様の選択されたバージョンにより指定されたルールセットのルールに従ってアプリケーションプログラムを実行して、入力記録を処理し、出力を生成することと、選択された時間にルールセットの状態を表示することと、選択された時間においてルールセットに状態を関連付けたユーザに関連付けられたユーザ識別子を表示することとを含むことができる。
【００７４】
第１のデータ及び第２のデータをリポジトリに記憶することは、ルールセットに関連付けられた１つ又は複数のタグを記憶又は変更することを含むことができ、１つ又は複数のタグは、対応するバージョンのルールセットへのポインタ及びルールセットの状態の情報を含むことができる。
【００７５】
別の態様では、一般に、データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールを管理するコンピュータプログラムを記憶するコンピュータ可読媒体が提供される。コンピュータプログラムは、コンピュータシステムに、ルール仕様の返却及び借り出し、ルールセットの編集、及び状態遷移情報の受信を可能にする、第１の統合ユーザインターフェースを提供することと、第１の統合ユーザインターフェースを通して第１のユーザ識別子が関連付けられた第１のユーザから第１の命令を受信することと、第１のユーザからの第１の命令に応答して、リポジトリからルール仕様を借り出すことであって、ルール仕様は第１のバージョン番号を有し、１組のルールを含むルールセットを指定し、各ルールは、ルールの入力に応じてルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースは所与の入力記録によりトリガーされる、借り出すことと、第１の統合ユーザインターフェースを通して第１のユーザから編集命令を受信することと、第１のユーザからの編集命令に基づいてルール仕様を改訂することと、ルールセットに複数の状態の第１の状態を関連付けることと、第１の統合ユーザインターフェースを通して第１のユーザから第２の命令を受信することと、第１のユーザからの第２の命令に応答して、ルール仕様をリポジトリに返却し、第２のバージョン番号をルール仕様に割り当てることと、第２の統合ユーザインターフェースを通して、第２のユーザ識別子が関連付けられた第２のユーザから、ルールセットに関連付けられた遷移情報を受信することと、遷移情報及びルールセット及び第１の状態に関連付けられた許可された遷移に基づいて、ルールセットに複数の状態の第２の状態を関連付けることであって、第２の状態は第１の状態と異なる、関連付けることと、リポジトリに、ルール仕様の第２のバージョンの変更を第１のユーザ識別子に関連付ける第１のデータ及び第１の状態から第２の状態への遷移を第２のユーザ識別子に関連付ける第２のデータを記憶することとを行わせる命令を含む。
【００７６】
別の態様では、一般に、アプリケーションプログラムと併用する１つ又は複数のルールを管理するシステムが提供される。本システムは、１つ又は複数のルールコンテナを記憶するデータ記憶システムと、グラフィカルユーザインターフェースを提供する少なくとも１つの出力デバイス又はポートと、データ記憶システム及び少なくとも１つの出力デバイス又はポートに結合されたコンピュータシステムとを含む。コンピュータシステムは、ルール仕様の返却及び借り出し、ルールセットの編集、及び状態遷移情報の受信を可能にする、第１の統合ユーザインターフェースを提供する回路と、第１の統合ユーザインターフェースを通して第１のユーザ識別子が関連付けられた第１のユーザから第１の命令を受信する回路と、第１のユーザからの第１の命令に応答して、リポジトリからルール仕様を借り出す回路であって、ルール仕様は第１のバージョン番号を有し、１組のルールを含むルールセットを指定し、各ルールは、ルールの入力に応じてルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースは所与の入力記録によりトリガーされる、借り出す回路と、第１の統合ユーザインターフェースを通して第１のユーザから編集命令を受信する回路と、第１のユーザからの編集命令に基づいてルール仕様を改訂する回路と、ルールセットに複数の状態の第１の状態を関連付ける回路と、第１の統合ユーザインターフェースを通して第１のユーザから第２の命令を受信する回路と、第１のユーザからの第２の命令に応答して、ルール仕様をリポジトリに返却し、第２のバージョン番号をルール仕様に割り当てる回路と、第２の統合ユーザインターフェースを通して、第２のユーザ識別子が関連付けられた第２のユーザから、ルールセットに関連付けられた遷移情報を受信する回路と、遷移情報及びルールセット及び第１の状態に関連付けられた許可された遷移に基づいて、ルールセットに複数の状態の第２の状態を関連付ける回路であって、第２の状態は第１の状態と異なる、関連付ける回路と、リポジトリに、ルール仕様の第２のバージョンの変更を第１のユーザ識別子に関連付ける第１のデータ及び第１の状態から第２の状態への遷移を第２のユーザ識別子に関連付ける第２のデータを記憶する回路とを含む。
【００７７】
別の態様では、一般に、アプリケーションプログラムと併用する１つ又は複数のルールを管理するシステムが提供される。本システムは、ルール仕様の返却及び借り出し、ルールセットの編集、及び状態遷移情報の受信を可能にする、第１の統合ユーザインターフェースを提供する手段と、第１の統合ユーザインターフェースを通して第１のユーザ識別子が関連付けられた第１のユーザから第１の命令を受信する手段と、第１のユーザからの第１の命令に応答して、リポジトリからルール仕様を借り出す手段であって、ルール仕様は第１のバージョン番号を有し、１組のルールを含むルールセットを指定し、各ルールは、ルールの入力に応じてルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースは所与の入力記録によりトリガーされる、借り出す手段と、第１の統合ユーザインターフェースを通して第１のユーザから編集命令を受信する手段と、第１のユーザからの編集命令に基づいてルール仕様を改訂する手段と、ルールセットに複数の状態の第１の状態を関連付ける手段と、第１の統合ユーザインターフェースを通して第１のユーザから第２の命令を受信する手段と、第１のユーザからの第２の命令に応答して、ルール仕様をリポジトリに返却し、第２のバージョン番号をルール仕様に割り当てる手段と、第２の統合ユーザインターフェースを通して、第２のユーザ識別子が関連付けられた第２のユーザから、ルールセットに関連付けられた遷移情報を受信する手段と、遷移情報及びルールセット及び第１の状態に関連付けられた許可された遷移に基づいて、ルールセットに複数の状態の第２の状態を関連付ける手段であって、第２の状態は第１の状態と異なる、関連付ける手段と、リポジトリに、ルール仕様の第２のバージョンの変更を第１のユーザ識別子に関連付ける第１のデータ及び第１の状態から第２の状態への遷移を第２のユーザ識別子に関連付ける第２のデータを記憶する手段とを含む。
【００７８】
別の態様では、一般に、各ルールコンテナは２つ以上のルールセットを含み、データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールコンテナを管理する方法が提供される。ルールコンテナ及びルールコンテナに含まれるルール仕様の返却及び借り出し、ある状態から別の状態へのルールコンテナの遷移を可能にする統合アプリケーション開発システムを提供することであって、統合アプリケーション開発システムは、ユーザから命令を受信し、情報をユーザに提供するユーザインターフェースを含む統合ユーザインターフェースを含む、提供することと、統合ユーザインターフェースの第１のインターフェースを通して、第１のユーザ識別子が関連付けられた第１のユーザから命令を受信することとを含む。本方法は、第１のユーザからの第１の命令に応答して、リポジトリからルールコンテナを借り出すことであって、ルールコンテナは、少なくとも第１のルール仕様及び第２のルール仕様を含み、ルールコンテナは第１のバージョン番号を有し、第１のルール仕様は第２のバージョン番号を有し、第２のルール仕様は第３のバージョン番号を有し、第１のルール仕様及び第２のルール仕様はそれぞれ、１組のルールを含むルールセットを指定し、各ルールは、ルールの入力に応じてルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースは所与の入力記録によりトリガーされる、借り出すことと、第１のルール仕様により指定された第１のルールセットにルールセットの複数の状態の第１の状態を関連付けることと、ルールコンテナにルールコンテナの複数の状態の第１の状態を関連付けることと、ルールコンテナをリポジトリに返却し、第４のバージョン番号をルールコンテナに割り当て、第５のバージョン番号を第１のルール仕様に割り当てることとを含む。
【００７９】
態様は、以下の特徴の１つ又は複数を含むことができる。本方法は、統合ユーザインターフェースの第１のインターフェースを通して、ルールコンテナに関連付けられた第１の遷移情報及び第１のルールセットに関連付けられた第２の遷移情報を受信することであって、第１の遷移情報及び第２の遷移情報は第１のユーザにより提供される、受信することと、第１の遷移情報及びルールコンテナに関連付けられた許可された遷移に基づいて、ルールコンテナにルールコンテナの複数の状態の第２の状態を関連付けることであって、ルールコンテナの第２の状態は、ルールコンテナの第１の状態と異なる、関連付けることと、第２の遷移情報及び第１のルールセットに関連付けられた許可された遷移に基づいて、第１のルールセットにルールセットの複数の状態の第２の状態を関連付けることであって、ルールセットの第２の状態は、ルールセットの第１の状態と異なる、関連付けることと、ログデータオブジェクトに、第１のユーザがルールコンテナを借り出したことを指定する第１のログデータ、第１のユーザが、ルールコンテナの第１の状態から第２の状態に遷移することについてルールコンテナを承認したことを指定する第２のログデータ、及び第１のユーザが、ルールセットの第１の状態から第２の状態に遷移することについて第１のルールセットを承認したことを指定する第３のログデータを記憶することとを含む。
【００８０】
ログデータオブジェクトにおける第１のログデータは、第１のユーザが、第１のバージョン番号を有するルールコンテナを借り出したことを指定することができ、第２のログデータは、第１のユーザが、ルールコンテナの第１の状態から第２の状態に遷移することについて、第１のバージョン番号を有するルールコンテナを承認したことを指定することができ、第３のログデータは、第１のユーザが、ルールセットの第１の状態から第２の状態に遷移することについて、第２のバージョン番号を有する第１のルールセットを承認したことを指定することができる。
【００８１】
本方法は、統合ユーザインターフェースの第２のインターフェースを通して、第２のユーザ識別子が関連付けられた第２のユーザから第２の命令を受信することと、第２のユーザからの第２の命令に応答して、リポジトリからルールコンテナを借り出すことと、統合ユーザインターフェースの第２のインターフェースを通して、ルールコンテナに関連付けられた第３の遷移情報及び第１のルールセットに関連付けられた第４の遷移情報を受信することであって、第３の遷移情報及び第４の遷移情報は第２のユーザにより提供される、受信することと、第３の遷移情報及びルールコンテナに関連付けられた許可された遷移に基づいて、ルールコンテナにルールコンテナの複数の状態の第３の状態を関連付けることであって、ルールコンテナの第３の状態は、ルールコンテナの第２の状態と異なる、関連付けることと、第４の遷移情報及び第１のルールセットに関連付けられた許可された遷移に基づいて、第１のルールセットにルールセットの複数の状態の第３の状態を関連付けることであって、ルールセットの第３の状態は、ルールセットの第２の状態と異なる、関連付けることと、ログデータオブジェクトに、第２のユーザがルールコンテナを借り出したことを指定する第４のログデータ、第２のユーザが、ルールコンテナの第２の状態から第３の状態に遷移することについてルールコンテナを承認したことを指定する第５のログデータ、及び第２のユーザが、ルールセットの第２の状態から第３の状態に遷移することについて第１のルールセットを承認したことを指定する第６のログデータを記憶することとを含むことができる。
【００８２】
ログデータオブジェクトにおける第４のログデータは、第２のユーザが、第４のバージョン番号を有するルールコンテナを借り出したことを指定することができ、第５のログデータは、第２のユーザが、ルールコンテナの第２の状態から第３の状態に遷移することについて第４のバージョン番号を有するルールコンテナを承認したことを指定することができ、第６のログデータは、第２のユーザが、ルールセットの第１の状態から第２の状態に遷移することについて第５のバージョン番号を有する第１のルールセットを承認したことを指定することができる。
【００８３】
本方法は、統合ユーザインターフェースの第２のインターフェースを通して、第２のユーザ識別子が関連付けられた第２のユーザから第２の命令を受信することと、第２のユーザからの第２の命令に応答して、リポジトリからルールコンテナを借り出すことと、統合ユーザインターフェースの第２のインターフェースを通して、第２のユーザから第３の命令を受信することと、第２のユーザからの第３の命令に応答して、（ｉ）ルールコンテナをアプリケーションプログラムに関連付け、ルールコンテナ内のルールセットのルールに従ってアプリケーションプログラムを実行して、入力記録を処理し、出力を生成すること、又は（ｉｉ）ルールコンテナ内のルールセットのルールを使用して入力記録を処理するアプリケーションプログラムの前の実行から生成された、前に記憶された出力を検索することの少なくとも一方を実行することとを含むことができる。
【００８４】
本方法は、ログデータオブジェクトに、第１のユーザが第１の時点においてルールコンテナを借り出したことを指定する第１のログデータ、第２のユーザが第２の時点においてルールコンテナを借り出したことを指定する第２のログデータ、及び第２のユーザが、（ｉ）ルールコンテナ内のルールセットのルールに従って、入力記録を処理し出力を生成するアプリケーションプログラムを実行すること、又は（ｉｉ）ルールセットのルールを使用して、入力記録を処理するアプリケーションプログラムの前の実行から生成された、前に記憶された出力を検索することの少なくとも一方を実行したことを指定する第３のログデータを記憶することを含むことができる。
【００８５】
本方法は、統合ユーザインターフェースの第３のインターフェースを通して、第３のユーザ識別子が関連付けられた第３のユーザから第４の命令を受信することと、第３のユーザからの第４の命令に応答して、リポジトリからルールコンテナを借り出すことと、統合ユーザインターフェースの第３のインターフェースを通して、第３のユーザから遷移情報を受信することと、第３のユーザからの遷移情報に応答して、ルールコンテナがリリース可能な状態であることを示すリリース状態にルールコンテナを遷移させることとを含むことができる。
【００８６】
本方法は、ログデータオブジェクトに、第１のユーザが第１の時点においてルールコンテナを借り出したことを指定する第１のログデータ、第２のユーザが第２の時点においてルールコンテナを借り出したことを指定する第２のログデータ、第２のユーザが、（ｉ）ルールコンテナ内のルールセットのルールに従って、入力記録を処理し出力を生成するアプリケーションプログラムを実行すること、又は（ｉｉ）ルールコンテナ内のルールセットのルールを使用して、入力記録を処理するアプリケーションプログラムの実行の前の結果である、前に記憶された出力を検索することの少なくとも一方を実行したことを指定する第３のログデータ、第３のユーザが第３の時点においてルールコンテナを借り出したことを指定する第４のログデータ、及び第３のユーザがルールコンテナのリリース状態への遷移を承認したことを指定する第５のログデータを記憶することを含むことができる。
【００８７】
別の態様では、一般に、データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールコンテナを管理するコンピュータプログラムを記憶するコンピュータ可読媒体が提供される。コンピュータプログラムは、コンピュータシステムに、ルールコンテナ及びルールコンテナに含まれるルール仕様の返却及び借り出し、及びある状態から別の状態へのルールコンテナの遷移を可能にする統合アプリケーション開発システムを提供することであって、統合アプリケーション開発システムは、ユーザから命令を受信し、情報をユーザに提供するユーザインターフェースを含む統合ユーザインターフェースを含む、提供することと、統合ユーザインターフェースの第１のインターフェースを通して、第１のユーザ識別子が関連付けられた第１のユーザから命令を受信することとを行わせる命令を含む。コンピュータプログラムは、コンピュータシステムに、第１のユーザからの第１の命令に応答して、リポジトリからルールコンテナを借り出すことであって、ルールコンテナは、少なくとも第１のルール仕様及び第２のルール仕様を含み、ルールコンテナは第１のバージョン番号を有し、第１のルール仕様は第２のバージョン番号を有し、第２のルール仕様は第３のバージョン番号を有し、第１のルール仕様及び第２のルール仕様はそれぞれ、１組のルールを含むルールセットを指定し、各ルールは、ルールの入力に応じてルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースは所与の入力記録によりトリガーされる、借り出すことと、第１のルール仕様により指定された第１のルールセットにルールセットの複数の状態の第１の状態を関連付けることと、ルールコンテナにルールコンテナの複数の状態の第１の状態を関連付けることと、ルールコンテナをリポジトリに返却し、第４のバージョン番号をルールコンテナに割り当て、第５のバージョン番号を第１のルール仕様に割り当てることとを行わせる命令を含む。
【００８８】
別の態様では、一般に、アプリケーションプログラムと併用する１つ又は複数のルールコンテナを管理するシステムが提供される。本システムは、１つ又は複数のルールコンテナを記憶するデータ記憶システムと、グラフィカルユーザインターフェースを提供する少なくとも１つの出力デバイス又はポートと、データ記憶システム及び少なくとも１つの出力デバイス又はポートに結合されるコンピュータシステムとを含む。コンピュータシステムは、ルールコンテナ及びルールコンテナに含まれるルール仕様の返却及び借り出し、及びある状態から別の状態へのルールコンテナの遷移を可能にする統合アプリケーション開発システムを提供する回路であって、統合アプリケーション開発システムは、ユーザから命令を受信し、情報をユーザに提供するユーザインターフェースを含む統合ユーザインターフェースを含む、提供する回路と、統合ユーザインターフェースの第１のインターフェースを通して、第１のユーザ識別子が関連付けられた第１のユーザから命令を受信する回路とを含む。コンピュータシステムは、第１のユーザからの第１の命令に応答して、リポジトリからルールコンテナを借り出す回路であって、ルールコンテナは、少なくとも第１のルール仕様及び第２のルール仕様を含み、ルールコンテナは第１のバージョン番号を有し、第１のルール仕様は第２のバージョン番号を有し、第２のルール仕様は第３のバージョン番号を有し、第１のルール仕様及び第２のルール仕様はそれぞれ、１組のルールを含むルールセットを指定し、各ルールは、ルールの入力に応じてルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースは所与の入力記録によりトリガーされる、借り出す回路と、第１のルール仕様により指定された第１のルールセットにルールセットの複数の状態の第１の状態を関連付ける回路と、ルールコンテナにルールコンテナの複数の状態の第１の状態を関連付ける回路と、ルールコンテナをリポジトリに返却し、第４のバージョン番号をルールコンテナに割り当て、第５のバージョン番号を第１のルール仕様に割り当てる回路とを含む。
【００８９】
別の態様では、一般に、アプリケーションプログラムと併用する１つ又は複数のルールコンテナを管理するシステムが提供される。本システムは、ルールコンテナ及びルールコンテナに含まれるルール仕様の返却及び借り出し、及びある状態から別の状態へのルールコンテナの遷移を可能にする統合アプリケーション開発システムを提供する手段であって、統合アプリケーション開発システムは、ユーザから命令を受信し、情報をユーザに提供するユーザインターフェースを含む統合ユーザインターフェースを含む、提供する手段と、統合ユーザインターフェースの第１のインターフェースを通して、第１のユーザ識別子が関連付けられた第１のユーザから命令を受信する手段と、第１のユーザからの第１の命令に応答して、リポジトリからルールコンテナを借り出す手段であって、ルールコンテナは、少なくとも第１のルール仕様及び第２のルール仕様を含み、ルールコンテナは第１のバージョン番号を有し、第１のルール仕様は第２のバージョン番号を有し、第２のルール仕様は第３のバージョン番号を有し、第１のルール仕様及び第２のルール仕様はそれぞれ、１組のルールを含むルールセットを指定し、各ルールは、ルールの入力に応じてルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースは所与の入力記録によりトリガーされる、借り出す手段と、第１のユーザからの第１の命令に応答して、第１のルール仕様により指定された第１のルールセットにルールセットの複数の状態の第１の状態を関連付ける手段と、第１のユーザからの第１の命令に応答して、ルールコンテナにルールコンテナの複数の状態の第１の状態を関連付ける手段と、第１のユーザからの第１の命令に応答して、ルールコンテナをリポジトリに返却し、第４のバージョン番号をルールコンテナに割り当て、第５のバージョン番号を第１のルール仕様に割り当てる手段とを含む。
【００９０】
別の態様では、一般に、データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールを管理する方法が提供される。本方法は、ルールセットのバージョン制御及びビジネスプロセス管理を可能にする統合ユーザインターフェースを提供することであって、各ルールセットは、ルールの入力に応じてルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースは所与の入力記録によりトリガーされる、提供することと、統合ユーザインターフェースの第１のインターフェースを通して第１のユーザ識別子が関連付けられた第１のユーザから命令を受信することと、第１のユーザからの命令に応答して、リポジトリから第１のバージョン番号を有する第１のルールセットを借り出し、第１のルールセットを第１の状態から第２の状態に遷移させ、第１のルールセットをリポジトリに返却し、第２のバージョン番号を第１のルールセットに割り当てることと、統合ユーザインターフェースの第２のインターフェースを通して、第２のユーザ識別子が関連付けられた第２のユーザから命令を受信することとを含む。本方法は、第２のユーザからの命令に応答して、リポジトリから第２のバージョン番号を有する第１のルールセットを借り出し、第１のルールセットを第２の状態から第３の状態に遷移させ、第１のルールセットをリポジトリに返却することを含む。本方法は、共通ログに、第１のユーザが第１のバージョン番号を有する第１のルールセットを借り出し、第１のユーザが第１の状態から第２の状態への遷移について第１のルールセットを承認し、第２のユーザが第２のバージョン番号を有する第１のルールセットを借り出し、第２のユーザが、第２の状態から第３の状態への遷移について第１のルールセットを承認したことを指定する情報を記憶することを含む。
【００９１】
態様は、以下の特徴の１つ又は複数を含むことができる。統合ユーザインターフェースはまた、ルールセットのシミュレーションを可能にするようにも構成され、本方法は、統合ユーザインターフェースの第３のインターフェースを通して、第３のユーザ識別子が関連付けられた第３のユーザから命令を受信することを含むことができる。本方法は、第３のユーザからの命令に応答して、リポジトリから第２のバージョン番号を有する第１のルールセットを借り出し、（ｉ）第１のルールセットをアプリケーションプログラムに関連付け、第１のルールセットのルールに従って、入力記録を処理し出力を生成するアプリケーションプログラムを実行すること、又は（ｉｉ）第１のルールセットのルールを使用して、入力記録を処理するアプリケーションプログラムの前の実行から生成された、前に記憶された出力を検索することの少なくとも一方を実行することを含むことができる。本方法は、共通ログに、第３のユーザが第２のバージョン番号を有する第１のルールセットを借り出し、第３のユーザが、（ｉ）第１のルールセットのルールに従って、入力記録を処理し出力を生成するアプリケーションプログラムを実行すること、又は（ｉｉ）第１のルールセットのルールを使用して、入力記録を処理するアプリケーションプログラムの前の実行から生成された、前に記憶された出力を検索することの少なくとも一方を実行したことを指定する情報を記憶することを含むことができる。
【００９２】
統合ユーザインターフェースはまた、ルールセットの編集を可能にするようにも構成することができ、本方法は、統合ユーザインターフェースの第１のインターフェースを通して第１のユーザから編集命令を受信することを含むことができる。本方法は、第１のユーザからの編集命令に応答して、第１のルールセットを編集することを含むことができる。本方法は、共通ログに、第１のユーザが第１のルールセットを編集したことを指定する情報を記憶することを含むことができる。
【００９３】
第１のインターフェースは第１のユーザのディスプレイに示すことができ、第２のインターフェースは第２のユーザのディスプレイに示すことができる。
【００９４】
別の態様では、一般に、データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールを管理するコンピュータプログラムを記憶するコンピュータ可読媒体が提供される。コンピュータプログラムは、コンピュータシステムに、ルールセットのバージョン制御及びビジネスプロセス管理を可能にする統合ユーザインターフェースを提供することであって、各ルールセットは、ルールの入力に応じてルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースは所与の入力記録によりトリガーされる、提供することと、統合ユーザインターフェースの第１のインターフェースを通して、第１のユーザ識別子が関連付けられた第１のユーザから命令を受信することと、第１のユーザからの命令に応答して、リポジトリから第１のバージョン番号を有する第１のルールセットを借り出し、第１のルールセットを第１の状態から第２の状態に遷移させ、第１のルールセットをリポジトリに返却し、第２のバージョン番号を第１のルールセットに割り当てることと、統合ユーザインターフェースの第２のインターフェースを通して、第２のユーザ識別子が関連付けられた第２のユーザから命令を受信することと、第２のユーザからの命令に応答して、リポジトリから第２のバージョン番号を有する第１のルールセットを借り出し、第１のルールセットを第２の状態から第３の状態に遷移させ、第１のルールセットをリポジトリに返却することと、共通ログに、第１のユーザが第１のバージョン番号を有する第１のルールセットを借り出し、第１のユーザが第１の状態から第２の状態への遷移について第１のルールセットを承認し、第２のユーザが第２のバージョン番号を有する第１のルールセットを借り出し、第２のユーザが、第２の状態から第３の状態への遷移について第１のルールセットを承認したことを指定する情報を記憶することとを行わせる命令を含む。
【００９５】
別の態様では、一般に、アプリケーションプログラムと併用する１つ又は複数のルールを管理するシステムが提供される。本システムは、１つ又は複数のルールを記憶するデータ記憶システムと、グラフィカルユーザインターフェースを提供する少なくとも１つの出力デバイス又はポートと、データ記憶システム及び少なくとも１つの出力デバイス又はポートに結合されたコンピュータシステムとを含む。コンピュータシステムは、ルールセットのバージョン制御及びビジネスプロセス管理を可能にする統合ユーザインターフェースを提供する回路であって、各ルールセットは、ルールの入力に応じてルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースは所与の入力記録によりトリガーされる、提供する回路と、統合ユーザインターフェースの第１のインターフェースを通して、第１のユーザ識別子が関連付けられた第１のユーザから命令を受信する回路と、第１のユーザからの命令に応答して、リポジトリから第１のバージョン番号を有する第１のルールセットを借り出し、第１のルールセットを第１の状態から第２の状態に遷移させ、第１のルールセットをリポジトリに返却し、第２のバージョン番号を第１のルールセットに割り当てる回路と、統合ユーザインターフェースの第２のインターフェースを通して、第２のユーザ識別子が関連付けられた第２のユーザから命令を受信する回路と、第２のユーザからの命令に応答して、リポジトリから第２のバージョン番号を有する第１のルールセットを借り出し、第１のルールセットを第２の状態から第３の状態に遷移させ、第１のルールセットをリポジトリに返却する回路と、共通ログに、第１のユーザが第１のバージョン番号を有する第１のルールセットを借り出し、第１のユーザが第１の状態から第２の状態への遷移について第１のルールセットを承認し、第２のユーザが第２のバージョン番号を有する第１のルールセットを借り出し、第２のユーザが、第２の状態から第３の状態への遷移について第１のルールセットを承認したことを指定する情報を記憶する回路とを含む。
【００９６】
別の態様では、一般に、アプリケーションプログラムと併用する１つ又は複数のルールを管理するシステムが提供される。本システムは、ルールセットのバージョン制御及びビジネスプロセス管理を可能にする統合ユーザインターフェースを提供する手段であって、各ルールセットは、ルールの入力に応じてルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースは所与の入力記録によりトリガーされる、提供する手段と、統合ユーザインターフェースの第１のインターフェースを通して第１のユーザ識別子が関連付けられた第１のユーザから命令を受信する手段と、第１のユーザからの命令に応答して、リポジトリから第１のバージョン番号を有する第１のルールセットを借り出し、第１のルールセットを第１の状態から第２の状態に遷移させ、第１のルールセットをリポジトリに返却し、第２のバージョン番号を第１のルールセットに割り当てる手段と、統合ユーザインターフェースの第２のインターフェースを通して、第２のユーザ識別子が関連付けられた第２のユーザから命令を受信する手段と、第２のユーザからの命令に応答して、リポジトリから第２のバージョン番号を有する第１のルールセットを借り出し、第１のルールセットを第２の状態から第３の状態に遷移させ、第１のルールセットをリポジトリに返却する手段と、共通ログに、第１のユーザが第１のバージョン番号を有する第１のルールセットを借り出し、第１のユーザが第１の状態から第２の状態への遷移について第１のルールセットを承認し、第２のユーザが第２のバージョン番号を有する第１のルールセットを借り出し、第２のユーザが、第２の状態から第３の状態への遷移について第１のルールセットを承認したことを指定する情報を記憶する手段とを含む。
【００９７】
別の態様では、一般に、データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールを管理する方法が提供される。本方法は、ルールコンテナのバージョン制御及びビジネスプロセス管理を可能にする統合ユーザインターフェースを提供することであって、各ルールコンテナは複数のルールセットを含み、各ルールセットは、ルールの入力に応じてルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースは所与の入力記録によりトリガーされる、提供することと、統合ユーザインターフェースの第１のインターフェースを通して第１のユーザ識別子が関連付けられた第１のユーザから命令を受信することとを含む。本方法は、第１のユーザからの命令に応答して、リポジトリから第１のルールコンテナの第１のバージョンを借り出すことであって、第１のルールコンテナの第１のバージョンには、第１のルールセットの第１のバージョン及び第２のルールセットの第１のバージョンが関連付けられ、第１のルールコンテナの第１のバージョンは、第１のルールセットの第１のバージョンへのポインタ及び関第２のルールセットの第１のバージョンへのポインタを含み、第２のルールセットの第１のバージョンにはルールセットの第１の状態が関連付けられる、借り出すことと、第１のルールコンテナの第２のバージョンを生成することと、第２のルールセットの第１のバージョンのコピーである第２のルールセットの第２のバージョンを生成することであって、第２のルールセットの第２のバージョンにはルールセットの第１の状態が関連付けられる、生成することと、第２のルールセットの第１のバージョンをルールセットの第１の状態からルールセットの第２の状態に遷移させることと、第１のルールコンテナの第２のバージョンに、第１のルールセットの第１のバージョンへのポインタ及び第２のルールセットの第２のバージョンへのポインタを追加することと、第１のルールコンテナの第１及び第２のバージョンをリポジトリに返却することとを含む。
【００９８】
態様は、以下の特徴の１つ又は複数を含むことができる。本方法は、ログデータオブジェクトに、（ｉ）第１のユーザが第１のルールコンテナの第１のバージョンを借り出し、第１のルールコンテナの第２のバージョンを生成し、第１の状態から第２の状態への第２のルールセットの第１のバージョンの遷移を承認したことを指定する情報、又は（ｉｉ）第１のルールコンテナの第１のバージョンの借り出しに第１のタイムスタンプが関連付けられ、第１のルールコンテナの第２のバージョンの生成に第２のタイムスタンプが関連付けられ、第１の状態から第２の状態への第２のルールセットの第１のバージョンの遷移に第３のタイムスタンプが関連付けられることを指定する情報の少なくとも一方を記憶することを含むことができる。
【００９９】
第１のルールコンテナの第１のバージョンにはまず、ルールコンテナの第１の状態を関連付けることができ、本方法は、第１のユーザからの命令に応答して、第１のルールコンテナの第１のバージョンをルールコンテナの第１の状態からルールコンテナの第２の状態に遷移させることを含むことができる。
【０１００】
本方法は、ログデータオブジェクトに、（ｉ）第１のユーザが第１のルールコンテナの第１のバージョンの第１の状態から第２の状態への遷移を承認したことを指定する情報、又は（ｉｉ）第１の状態から第２の状態への第１のルールコンテナの第１のバージョンの遷移に第１のタイムスタンプが関連付けられることを指定する情報の少なくとも一方を記憶することを含むことができる。
【０１０１】
本方法は、統合ユーザインターフェースの第２のインターフェースを通して、第２のユーザ識別子が関連付けられた第２のユーザから命令を受信することと、第２のユーザからの命令に応答して、リポジトリから第１のルールコンテナの第１のバージョンを借り出すことと、（ｉ）第１のルールコンテナの第１のバージョンをアプリケーションプログラムに関連付け、第１のルールコンテナの第１のバージョン内のルールセットのルールに従って、入力記録を処理し出力を生成するアプリケーションプログラムを実行すること、又は（ｉｉ）第１のルールコンテナの第１のバージョン内のルールセットのルールを使用して、入力記録を処理するアプリケーションプログラムの前の実行から生成された、前に記憶された出力を検索することの少なくとも一方を実行することとを含むことができる。
【０１０２】
本方法は、ログデータオブジェクトに、（ｉ）第２のユーザが第１のルールコンテナの第１のバージョンを借り出し、第１のルールコンテナの第１のバージョンと併せてアプリケーションプログラムを実行したことを指定する情報、（ｉｉ）第２のユーザが第１のルールコンテナの第１のバージョンを借り出し、第１のルールコンテナの第１のバージョン内のルールセットのルールを使用して、入力記録を処理するアプリケーションプログラムの前の実行から生成された、前に記憶された出力を検索することを指定する情報、（ｉｉｉ）第１のルールコンテナの第１のバージョンの借り出しには第１のタイムスタンプが関連付けられ、第１のルールコンテナの第１のバージョンと併せたアプリケーションプログラムの実行には第２のタイムスタンプが関連付けられることを指定する情報、又は（ｉｖ）第１のルールコンテナの第１のバージョンの借り出しに第１のタイムスタンプが関連付けられ、第１のルールコンテナの第１のバージョン内のルールセットのルールを使用して、入力記録を処理するアプリケーションプログラムの前の実行から生成された、前に記憶された出力の検索に第２のタイムスタンプが関連付けられることを指定する情報の少なくとも１つを記憶することを含むことができる。
【０１０３】
第１のインターフェースは第１のユーザのディスプレイに提供することができ、第２のインターフェースは第２のユーザのディスプレイに提供することができる。
【０１０４】
本方法は、統合ユーザインターフェースの第２のインターフェースを通して、第２のユーザ識別子が関連付けられた第２のユーザから命令を受信することを含むことができる。本方法は、第２のユーザからの命令に応答して、リポジトリから第１のルールコンテナの第１のバージョンを借り出すことと、第１のルールコンテナ内の第１のルールセットの第１のバージョンを編集することと、第１のルールセットの第１のバージョンをルールセットの第１の状態からルールセットの第２の状態に遷移させることと、第１のルールコンテナの第１のバージョンをリポジトリに返却することとを含むことができる。
【０１０５】
本方法は、ログデータオブジェクトに、（ｉ）第２のユーザが第１のルールコンテナの第１のバージョンを借り出し、第１のルールセットの第１のバージョンを編集し、第１のルールセットの第１のバージョンの第１の状態から第２の状態への遷移を承認したことを指定する情報、又は（ｉｉ）第１のルールコンテナの第１のバージョンの借り出しには第１のタイムスタンプが関連付けられ、第１のルールセットの第１のバージョンの編集には第２のタイムスタンプが関連付けられ、第１のルールセットの第１のバージョンの第１の状態から第２の状態への遷移には第３のタイムスタンプが関連付けられることを指定する情報の少なくとも一方を記憶することを含むことができる。
【０１０６】
別の態様では、一般に、データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールコンテナを管理するコンピュータプログラムを記憶するコンピュータ可読媒体が提供される。コンピュータプログラムは、コンピュータシステムに、ルールコンテナのバージョン制御及びビジネスプロセス管理を可能にする統合ユーザインターフェースを提供することであって、各ルールコンテナは複数のルールセットを含み、各ルールセットは、ルールの入力に応じてルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースは所与の入力記録によりトリガーされる、提供することと、統合ユーザインターフェースの第１のインターフェースを通して、第１のユーザ識別子が関連付けられた第１のユーザから命令を受信することとを行わせる命令を含む。コンピュータプログラムは、コンピュータシステムに、第１のユーザからの命令に応答して、リポジトリから第１のルールコンテナの第１のバージョンを借り出すことであって、第１のルールコンテナの第１のバージョンには、第１のルールセットの第１のバージョン及び第２のルールセットの第１のバージョンが関連付けられ、第１のルールコンテナの第１のバージョンは、第１のルールセットの第１のバージョンへのポインタ及び第２のルールセットの第１のバージョンへのポインタを含み、第２のルールセットの第１のバージョンにはルールセットの第１の状態が関連付けられる、借り出すことと、第１のルールコンテナの第２のバージョンを生成することと、第２のルールセットの第１のバージョンのコピーである第２のルールセットの第２のバージョンを生成することであって、第２のルールセットの第２のバージョンにはルールセットの第１の状態が関連付けられる、生成することと、第２のルールセットの第１のバージョンをルールセットの第１の状態からルールセットの第２の状態に遷移させることと、第１のルールコンテナの第２のバージョンに、第１のルールセットの第１のバージョンへのポインタ及び第２のルールセットの第２のバージョンへのポインタを追加することと、第１のルールコンテナの第１及び第２のバージョンをリポジトリに返却することとを行わせる命令を含む。
【０１０７】
別の態様では、一般に、アプリケーションプログラムと併用する１つ又は複数のルールコンテナを管理するシステムが提供される。本システムは、１つ又は複数のルールコンテナを記憶するデータ記憶システムと、グラフィカルユーザインターフェースを提供する少なくとも１つの出力デバイス又はポートと、データ記憶システム及び少なくとも１つの出力デバイス又はポートに結合されるコンピュータシステムとを含む。コンピュータシステムは、ルールコンテナのバージョン制御及びビジネスプロセス管理を可能にする統合ユーザインターフェースを提供する回路であって、各ルールコンテナは複数のルールセットを含み、各ルールセットは、ルールの入力に応じてルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースは所与の入力記録によりトリガーされる、提供する回路と、統合ユーザインターフェースの第１のインターフェースを通して、第１のユーザ識別子が関連付けられた第１のユーザから命令を受信する回路とを含む。コンピュータシステムは、第１のユーザからの命令に応答して、リポジトリから第１のルールコンテナの第１のバージョンを借り出す回路であって、第１のルールコンテナの第１のバージョンには、第１のルールセットの第１のバージョン及び第２のルールセットの第１のバージョンが関連付けられ、第１のルールコンテナの第１のバージョンは、第１のルールセットの第１のバージョンへのポインタ及び関第２のルールセットの第１のバージョンへのポインタを含み、第２のルールセットの第１のバージョンにはルールセットの第１の状態が関連付けられる、借り出す回路と、第１のルールコンテナの第２のバージョンを生成する回路と、第２のルールセットの第１のバージョンのコピーである第２のルールセットの第２のバージョンを生成する回路であって、第２のルールセットの第２のバージョンにはルールセットの第１の状態が関連付けられる、生成する回路と、第２のルールセットの第１のバージョンをルールセットの第１の状態からルールセットの第２の状態に遷移させる回路と、第１のルールコンテナの第２のバージョンに、第１のルールセットの第１のバージョンへのポインタ及び第２のルールセットの第２のバージョンへのポインタを追加する回路と、第１のルールコンテナの第１及び第２のバージョンをリポジトリに返却する回路とを含む。
【０１０８】
別の態様では、一般に、アプリケーションプログラムと併用する１つ又は複数のルールコンテナを管理するシステムが提供される。本システムは、ルールコンテナのバージョン制御及びビジネスプロセス管理を可能にする統合ユーザインターフェースを提供する手段であって、各ルールコンテナは複数のルールセットを含み、各ルールセットは、ルールの入力に応じてルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースは所与の入力記録によりトリガーされる、提供する手段と、統合ユーザインターフェースの第１のインターフェースを通して第１のユーザ識別子が関連付けられた第１のユーザから命令を受信する手段と、第１のユーザからの命令に応答して、リポジトリから第１のルールコンテナの第１のバージョンを借り出す手段であって、第１のルールコンテナの第１のバージョンには、第１のルールセットの第１のバージョン及び第２のルールセットの第１のバージョンが関連付けられ、第１のルールコンテナの第１のバージョンは、第１のルールセットの第１のバージョンへのポインタ及び第２のルールセットの第１のバージョンへのポインタを含み、第２のルールセットの第１のバージョンにはルールセットの第１の状態が関連付けられる、借り出す手段と、第１のユーザからの命令に応答して、第１のルールコンテナの第２のバージョンを生成する手段と、第１のユーザからの命令に応答して、第２のルールセットの第１のバージョンのコピーである第２のルールセットの第２のバージョンを生成する手段であって、第２のルールセットの第２のバージョンにはルールセットの第１の状態が関連付けられる、生成する手段と、第１のユーザからの命令に応答して、第２のルールセットの第１のバージョンをルールセットの第１の状態からルールセットの第２の状態に遷移させる手段と、第１のユーザからの命令に応答して、第１のルールコンテナの第２のバージョンに、第１のルールセットの第１のバージョンへのポインタ及び第２のルールセットの第２のバージョンへのポインタを追加する手段と、第１のルールコンテナの第１及び第２のバージョンをリポジトリに返却する手段とを含む。
【０１０９】
別の態様では、一般に、データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールを管理する方法が提供される。本方法は、ユーザが統合アプリケーション開発システムと対話して、ルールコンテナのバージョン制御及びビジネスプロセス管理の実行を可能にする統合ユーザインターフェースを提供することであって、各ルールコンテナは複数のルールセットを含み、各ルールセットは、ルールの入力に応じてルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースは所与の入力記録によりトリガーされる、提供することと、リポジトリに第１のルールコンテナの複数のバージョンを記憶することであって、第１のルールコンテナの各バージョンは複数のルールセットを含む、記憶することと、統合ユーザインターフェースの第１のインターフェースを通して第１のユーザ識別子が関連付けられた第１のユーザから命令を受信することとを含む。本方法は、第１のユーザからの命令に応答して、リポジトリから第１のルールコンテナの特定のバージョンを借り出すことと、（ｉ）第１のルールコンテナの特定のバージョンを第１の状態から第２の状態に遷移させること、又は（ｉｉ）第１のルールコンテナの特定のバージョンの特定のルールセットを第１の状態から第２の状態に遷移させることの少なくとも一方を実行することと、第１のルールコンテナの特定のバージョンをリポジトリに返却することとを含む。
【０１１０】
態様は、以下の特徴の１つ又は複数を含むことができる。本方法は、ログデータオブジェクトに、（ｉ）第１のユーザが第１のルールコンテナの特定のバージョンを借り出し、第１のルールコンテナの特定のバージョンの第１の状態から第２の状態への遷移を承認したことを指定する情報、（ｉｉ）第１のルールコンテナの特定のバージョンの借り出しには第１のタイムスタンプが関連付けられ、第１のルールコンテナの特定のバージョンの第１の状態から第２の状態への遷移には第２のタイムスタンプが関連付けられることを指定する情報、（ｉｉｉ）第１のユーザが第１のルールコンテナの特定のバージョンを借り出し、第１のルールコンテナの特定のバージョン内の特定のルールセットの第１の状態から第２の状態への遷移を承認したことを指定する情報、又は（ｉｖ）第１のルールコンテナの特定のバージョンの借り出しには第１のタイムスタンプが関連付けられ、第１のルールコンテナの特定のバージョン内の特定のルールセットの第１の状態から第２の状態への遷移には第２のタイムスタンプが関連付けられることを指定する情報の少なくとも１つを記憶することを含むことができる。
【０１１１】
複数のルールセットを含む各ルールコンテナについて、ルールコンテナはルールセットへのポインタを含むことができ、各ポインタは、対応するルールセットが記憶されたリポジトリ内のロケーションをポイントすることができる。
【０１１２】
少なくとも２つの異なるルールコンテナは、共通のルールセットをポイントするポインタを含むことができる。
【０１１３】
本方法は、第１のインターフェースを通して、第１のユーザから第２の組の命令を受信することを含むことができる。本方法は、第１のユーザからの第２の組の命令に応答して、リポジトリから第２のルールコンテナの特定のバージョンを借り出すことと、（ｉ）第２のルールコンテナの特定のバージョンをアプリケーションプログラムに関連付け、第２のルールコンテナの特定のバージョン内のルールセットのルールに従って、入力記録を処理し出力を生成するアプリケーションプログラムを実行すること、又は（ｉｉ）第２のルールコンテナの特定のバージョンが関連付けられたアプリケーションプログラムの前の実行から生成された、前に記憶された出力を検索することの少なくとも一方を実行することとを含むことができる。
【０１１４】
本方法は、ログデータオブジェクトに、（ｉ）第１のユーザが第２のルールコンテナの特定のバージョンを借り出し、第２のルールコンテナの特定のバージョンと併せてアプリケーションプログラムを実行したことを指定する情報、（ｉｉ）第１のユーザが第２のルールコンテナの特定のバージョンを借り出し、第２のルールコンテナの特定のバージョンと併せたアプリケーションプログラムの前の実行から生成された、前に記憶された出力を検索したことを指定する情報、（ｉｉｉ）第２のルールコンテナの特定のバージョンの借り出しには第１のタイムスタンプが関連付けられ、第２のルールコンテナの特定のバージョンと併せたアプリケーションプログラムの実行には第２のタイムスタンプが関連付けられることを指定する情報、又は（ｉｖ）第２のルールコンテナの特定のバージョンの借り出しには第１のタイムスタンプが関連付けられ、第２のルールコンテナの特定のバージョンと併せたアプリケーションプログラムの前の実行から生成された、前に記憶された出力の検索には第２のタイムスタンプが関連付けられることを指定する情報の少なくとも１つを記憶することを含むことができる。
【０１１５】
本方法は、統合ユーザインターフェースを通して、ルールコンテナの１人又は複数の制作者がルールコンテナを編集し、第１の状態から第２の状態へのルールコンテナの遷移を承認できるようにすることを含むことができ、第１の状態は、ルールコンテナが編集中であることを表し、第２の状態は、ルールコンテナがレビュー可能な状態であることを表す。本方法は、統合ユーザインターフェースを通して、１人又は複数のレビューアがルールコンテナの内容をレビューできるようにすることと、（ｉ）ルールコンテナをアプリケーションプログラムに関連付け、ルールコンテナ内のルールセットのルールに従って、入力記録を処理し出力を生成するアプリケーションプログラムを実行すること、又は（ｉｉ）ルールコンテナと併せたアプリケーションプログラムの前の実行から生成された、前に記憶された出力を検索することの少なくとも一方を実行することと、（ｉ）ルールコンテナを拒絶し、ルールコンテナを第２の状態から第１の状態に遷移させること、又は（ｉｉ）ルールコンテナを承認し、第２の状態から第３の状態に遷移させることであって、第３の状態は、ルールコンテナがリリース可能な状態であることを表す、遷移させることの少なくとも一方を実行することとを含むことができる。
【０１１６】
本方法は、統合ユーザインターフェースを通して、１つ又は複数のユーザが第１のルールコンテナの複数のリリースを管理できるようにすることであって、複数のリリースは現在リリース及び初期リリースを含む、管理できるようにすることと、リポジトリから第１のルールコンテナの初期リリースを検索することと、（ｉ）第１のルールコンテナの初期リリースをアプリケーションプログラムに関連付け、第１のルールコンテナの初期リリース内のルールセットのルールに従って、入力記録を処理し出力を生成するアプリケーションプログラムを実行すること、又は（ｉｉ）第１のルールコンテナの初期リリースと併せたアプリケーションプログラムの前の実行から生成された、前に記憶された出力を検索することの少なくとも一方を実行することとを含むことができる。
【０１１７】
本方法は、統合ユーザインターフェースを通して、１人又は複数のユーザが、第１のルールコンテナの初期リリースに何の変更がなされたか、誰が変更を行ったか、変更がいつなされたか、誰が第１の状態から第２の状態への遷移について第１のルールコンテナの初期リリースを承認したか、及び誰が第２の状態から第３の状態への遷移について第１のルールコンテナの初期リリースを承認したかについての情報を有するログデータオブジェクトをレビューできるようにすることを含むことができる。
【０１１８】
別の態様では、一般に、データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールを管理するコンピュータプログラムを記憶するコンピュータ可読媒体が提供される。コンピュータプログラムは、コンピュータシステムに、ユーザが統合アプリケーション開発システムと対話して、ルールコンテナのバージョン制御及びビジネスプロセス管理を可能にする統合ユーザインターフェースを提供することであって、各ルールコンテナは複数のルールセットを含み、各ルールセットは、ルールの入力に応じてルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースは所与の入力記録によりトリガーされる、提供することと、リポジトリに第１のルールコンテナの複数のバージョンを記憶することであって、第１のルールコンテナの各バージョンは複数のルールセットを含む、記憶することと、統合ユーザインターフェースの第１のインターフェースを通して第１のユーザ識別子が関連付けられた第１のユーザから命令を受信することとを行わせる命令を含む。コンピュータプログラムは、コンピュータシステムに、第１のユーザからの命令に応答して、リポジトリから第１のルールコンテナの特定のバージョンを借り出すことと、（ｉ）第１のルールコンテナの特定のバージョンを第１の状態から第２の状態に遷移させること、又は（ｉｉ）第１のルールコンテナの特定のバージョンの特定のルールセットを第１の状態から第２の状態に遷移させることの少なくとも一方を実行することと、第１のルールコンテナの特定のバージョンをリポジトリに返却することとを行わせる命令を含む。
【０１１９】
別の態様では、一般に、アプリケーションプログラムと併用する１つ又は複数のルールを管理するシステムが提供される。本システムは、１つ又は複数のルールコンテナを記憶するデータ記憶システムと、グラフィカルユーザインターフェースを提供する少なくとも１つの出力デバイス又はポートと、データ記憶システム及び少なくとも１つの出力デバイス又はポートに結合されたコンピュータシステムとを含む。コンピュータシステムは、ユーザが統合アプリケーション開発システムと対話して、ルールコンテナのバージョン制御及びビジネスプロセス管理を可能にする統合ユーザインターフェースを提供する回路であって、各ルールコンテナは複数のルールセットを含み、各ルールセットは、ルールの入力に応じてルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースは所与の入力記録によりトリガーされる、提供する回路と、リポジトリに第１のルールコンテナの複数のバージョンを記憶する回路であって、第１のルールコンテナの各バージョンは複数のルールセットを含む、記憶する回路とを含む。コンピュータシステムは、統合ユーザインターフェースの第１のインターフェースを通して第１のユーザ識別子が関連付けられた第１のユーザから命令を受信する回路と、第１のユーザからの命令に応答して、リポジトリに記憶された第１のルールコンテナの複数のバージョンから第１のルールコンテナの特定のバージョンを借り出す回路と、（ｉ）第１のルールコンテナの特定のバージョンを第１の状態から第２の状態に遷移させること、又は（ｉｉ）第１のルールコンテナの特定のバージョンの特定のルールセットを第１の状態から第２の状態に遷移させることの少なくとも一方を実行する回路と、第１のルールコンテナの特定のバージョンをリポジトリに返却する回路とを含む。
【０１２０】
別の態様では、一般に、アプリケーションプログラムと併用する１つ又は複数のルールを管理するシステムが提供される。本システムは、ユーザが統合アプリケーション開発システムと対話して、ルールコンテナのバージョン制御及びビジネスプロセス管理を可能にする統合ユーザインターフェースを提供する手段であって、各ルールコンテナは複数のルールセットを含み、各ルールセットは、ルールの入力に応じてルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースは所与の入力記録によりトリガーされる、提供する手段と、リポジトリに第１のルールコンテナの複数のバージョンを記憶する手段であって、第１のルールコンテナの各バージョンは複数のルールセットを含む、記憶する手段と、統合ユーザインターフェースの第１のインターフェースを通して第１のユーザ識別子が関連付けられた第１のユーザから命令を受信する手段と、第１のユーザからの命令に応答して、リポジトリに記憶された第１のルールコンテナの複数のバージョンから第１のルールコンテナの特定のバージョンを借り出す手段と、第１のユーザからの命令に応答して、（ｉ）第１のルールコンテナの特定のバージョンを第１の状態から第２の状態に遷移させること、又は（ｉｉ）第１のルールコンテナの特定のバージョンの特定のルールセットを第１の状態から第２の状態に遷移させることの少なくとも一方を実行する手段と、第１のルールコンテナの特定のバージョンをリポジトリに返却する手段とを含む。
【０１２１】
別の態様では、一般に、データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールを管理する方法が提供される。本方法は、遷移情報を受信し、１組のルールを含むルールセットをアプリケーションプログラムに関連付け、アプリケーションプログラムを実行できるようにする統合ユーザインターフェースを提供することと、ルールセットを指定するルール仕様を受信することであって、ルールセットの各ルールは、ルールの入力に応じてルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースは所与の入力記録によりトリガーされる、受信することと、複数の段階の第１の段階をルールセットに関連付けることと、統合ユーザインターフェースを通してルールセットに関連付けられた遷移情報を受信することと、遷移情報及びルールセット及び第１の段階に関連付けられた許可された遷移に基づいて、複数の段階の第２の段階をルールセットに関連付けることであって、第２の段階は第１の段階と異なる、関連付けることと、統合ユーザインターフェースを通して、ルールセットをアプリケーションプログラムに関連付ける第１の命令を受信することと、第１の命令に応答して、ルールセットをアプリケーションプログラムに関連付けることと、統合ユーザインターフェースを通して、アプリケーションを実行する第２の命令を受信することと、第２の命令に応答して、ルールセットのルールに従って、入力記録を処理し出力を生成するアプリケーションプログラムを実行することとを含む。
【０１２２】
態様は、以下の特徴の１つ又は複数を含むことができる。ルール仕様を受信することは、ルールケースに対応する複数の行を有するスプレッドシートを受信することを含むことができる。
【０１２３】
スプレッドシートは、利用可能なデータ値に対応するトリガー列を含むことができ、ルールケースは、利用可能なデータ値に関連する複数の組のトリガー基準を含むことができる。
【０１２４】
各ルールケースは、所与の記録の１つ又は複数のデータ値が、ルールケースが１つ又は複数の基準を有する各トリガー列で、１つ又は複数のトリガー基準を満たす場合、ルールケースが所与の記録に適用されるように構成することができる。
【０１２５】
スプレッドシートは、１つ又は複数の出力列を含むことができ、各出力列は潜在的な出力変数に対応することができ、出力変数の値は、出力列内のセルにより決定することができ、セルは、所与の記録に適用されるルールケースに対応する行にあることができる。
【０１２６】
セルは、出力変数に割り当てられた出力値又は出力値を生成するために評価される式の少なくとも一方を含むことができる。
【０１２７】
複数の段階は、開発ライフサイクルの複数の開発段階を含むことができる。
【０１２８】
複数の開発段階は、開発段階又はテスト段階の少なくとも一方を含むことができる。
【０１２９】
ルールセットは、あるフォーマットから別のフォーマットへのデータの変換、データについての判断、又は１組の入力データに基づく新しいデータの生成の少なくとも１つを実行するための１組の基準を含むことができる。
【０１３０】
ルール仕様は、複数の行を有するルール仕様表を含むことができ、各行はルールケースを定義し、１組の１つ又は複数の潜在的な入力のそれぞれの関係を含む。
【０１３１】
関係の少なくとも１つは、閾値に等しい値を有すること、閾値を超える値を有すること、閾値未満の値を有すること、１組の値に属する値を有すること、パターンに一致する値を有すること、別の入力の値への関係を有すること、別のルール仕様の出力の値への関係を有すること、又はメモリ内の値への関係を有することの１つ又は複数を含むことができる。
【０１３２】
行の少なくとも１つはまた、入力の値、所定の値、又は入力の値の１つ若しくは複数から計算される値の組合せの１つ又は複数を含む出力を含むこともできる。
【０１３３】
本方法は、ルール仕様内の複数のルールケースを複数の論理式に変換し、複数の論理式をコンパイルしてコンピュータ実行可能コードにし、コンピュータ実行可能コードをアプリケーションプログラムに組み込むことを含むことができる。
【０１３４】
本方法は、複数のルールケースを変換式に変換し、変換式を、データフローを表す要素をリンクすることにより接続されたデータ処理構成要素を有するグラフベースの計算における構成要素を関連付けることを含むことができる。
【０１３５】
許容可能な遷移は、（ｉ）開発ライフサイクル内の最初段階におけるルールセットは、後の段階に昇格することができるが、それ以上降格することはできない、（ｉｉ）開発ライフサイクルの最初段階でもなければ最後の段階でもないルールセットは、開発ライフサイクルの後の段階に昇格若しくは初期の段階に降格することができ、又は（ｉｉｉ）開発ライフサイクルの最後の段階にあるルールセットは、初期段階に降格することができるが、それ以上昇格することはできないことの少なくとも１つを含むことができる。
【０１３６】
本方法は、（ｉ）ルールセットが開発ライフサイクルの最初段階である場合、エディタインターフェースには、ルールセットを昇格させる第１の入力要素は示され、ルールセットを降格させる入力要素は示されず、（ｉｉ）ルールセットが最初段階でもなければ最後の開発段階でもない場合、エディタインターフェースには、ルールセットを昇格させる第１の入力要素及びルールセットを降格させる第２の入力要素は示され、又は（ｉｉｉ）ルールセットが最後の開発段階である場合、エディタインターフェースには、ルールセットを昇格させる入力要素は示されないことの少なくとも１つを含め、統合ユーザインターフェースの部分であるエディタインターフェース内の１つ又は複数の表示入力要素を提供することを含むことができる。
【０１３７】
ルールセットの各バージョンは、複数の開発段階を通して遷移することができる。
【０１３８】
本方法は、ルールセットの異なるバージョンを指定する複数のルール仕様を受信することを含むことができる。本方法は、ルールセットの異なるバージョンの識別子及びルールセットの異なるバージョンに関連付けられた開発段階を表示することを含むことができる。
【０１３９】
ルールセットの異なるバージョンの識別子及びルールセットの異なるバージョンに関連付けられた段階を表示することは、ルールセットの複数のメジャー又はマイナーバージョン及びルールセットのメジャー又はマイナーバージョンに関連付けられた段階を表示することを含むことができる。
【０１４０】
本方法は、ルールセットのコピーを記憶し、ルールセットに関連付けられた更新された段階に基づいてルールセットのコピーに名前を付けることを含むことができる。
【０１４１】
本方法は、ルールセットに関連付けられたタグの複数の可能な状態、状態のそれぞれに関連付けられた１つ又は複数の入力要素、及び入力要素のそれぞれに関連付けられた標的状態を指定するタグ付け仕様を受信することを含むことができる。
【０１４２】
表示入力要素とのユーザ対話に応答して、タグに、表示入力要素に関連付けられた標的状態を関連付けることができる。
【０１４３】
本方法は、ルールセットへのポインタを有するタグを使用して、ルールセットに関連付けられた状態を追跡することを含むことができ、タグは許容可能な遷移に基づいて状態間を遷移する。
【０１４４】
タグは、ルールセットに関連付けられたレビュー履歴についての情報を記憶することができる。
【０１４５】
複数の段階は、ルールセットの承認プロセスにおける複数の段階を含むことができる。
【０１４６】
別の態様では、一般に、データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールコンテナを管理する方法が提供される。本方法は、ルール仕様のグループを受信することであって、各ルール仕様は、１組のルールを含むルールセットを指定し、各ルールは、ルールの入力に応じてルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースは所与の入力記録によりトリガーされる、受信することと、個々のルールセットに関連付けることができる第１の複数の状態、ルールセットのグループに関連付けることができる第２の複数の状態、個々のルールセットに関連付けられる許容可能な状態遷移、及びルールセットのグループに関連付けられる許容可能な状態遷移を指定する遷移仕様を受信することと、第１の複数の状態の１つを各ルールセットに関連付けることと、第２の複数の状態の１つをルールセットのグループに関連付けることと、ルールセットの１つに関連付けられた第１の遷移情報を受信することと、第１の遷移情報、ルールセットに関連付けられる許可される遷移、及びルールセットに現在関連付けられている状態に基づいて、第１の複数の状態の別の１つをルールセットに関連付けることと、ルールセットのグループに関連付けられた第２の遷移情報を受信することと、第２の遷移情報、グループに関連付けられる許可される遷移、及びグループに現在関連付けられている状態に基づいて、第２の複数の状態の別の１つをルール仕様のグループに関連付けることと、ルール仕様のグループをアプリケーションプログラムに関連付けることであって、アプリケーションプログラムは、ルールセットのルールに従って入力記録を処理し出力を生成するように構成される、関連付けることとを含む。
【０１４７】
態様は、以下の特徴の１つ又は複数を含むことができる。第１の複数の状態は、（ｉ）複数の開発ライフサイクル状態、又は（ｉｉ）複数の承認プロセス状態の少なくとも一方を含むことができる。
【０１４８】
第２の複数の状態は、（ｉ）複数の開発ライフサイクル状態、又は（ｉｉ）複数の承認プロセス状態の少なくとも一方を含むことができる。
【０１４９】
本方法は、ルールセットに関連付けられた状態についての情報を含む第１のタグを各ルールセットに関連付け、ルールセットに関連付けられた状態が変更された場合、第１のタグを更新することを含むことができる。
【０１５０】
本方法は、ルールセットのグループに関連付けられた状態についての情報を含む第２のタグをグループに関連付け、ルールセットのグループに関連付けられた状態が変更される場合、第２のタグを更新することを含むことができる。
【０１５１】
別の態様では、一般に、データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールを管理する方法が提供される。本方法は、１組のルールを含むルールセットを指定するルール仕様を受信することであって、各ルールは、ルールの入力に応じてルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースは所与の入力記録によりトリガーされる、受信することと、ルールセットに関連付けられた複数の状態間の許容可能な遷移を指定し、各遷移で、遷移を実施する権限を有する１人又は複数のユーザを指定する遷移仕様を受信することと、複数の状態の第１の状態をルールセットに関連付けることと、ルールセットに関連付けられた遷移情報を受信することと、遷移情報を提供したユーザが、遷移情報を提供する権限を有することを検証することと、遷移情報を提供したユーザが遷移情報を提供する権限を有することを検証した後、遷移情報及びルールセット及び第１の状態に関連付けられた許可される遷移に基づいて、複数の状態の第２の状態をルールセットに関連付けることであって、第２の状態は第１の状態と異なる、関連付けることと、ルールセットをアプリケーションに関連付けることであって、アプリケーションプログラムは、ルールセットのルールに従って入力記録を処理し出力を生成するように構成される、関連付けることとを含む。
【０１５２】
態様は、以下の特徴の１つ又は複数を含むことができる。複数の状態は、（ｉ）複数の開発ライフサイクル状態、又は（ｉｉ）複数の承認プロセス状態の少なくとも一方を含むことができる。
【０１５３】
本方法は、ルールセットに関連付けられた状態についての情報を含むタグを各ルールセットに関連付け、ルールセットに関連付けられた状態が変更された場合、タグを更新することを含むことができる。
【０１５４】
別の態様では、一般に、データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールを管理するコンピュータプログラムを記憶するコンピュータ可読媒体が提供される。コンピュータプログラムは、コンピュータシステムに、遷移情報を受信し、１組のルールを含むルールセットをアプリケーションプログラムに関連付け、アプリケーションプログラムを実行できるようにする統合ユーザインターフェースを提供することと、ルールセットを指定するルール仕様を受信することであって、ルールセットの各ルールは、ルールの入力に応じてルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースは所与の入力記録によりトリガーされる、受信することと、複数の段階の第１の段階をルールセットに関連付けることと、統合ユーザインターフェースを通してルールセットに関連付けられた遷移情報を受信することと、遷移情報及びルールセット及び第１の段階に関連付けられた許可された遷移に基づいて、複数の段階の第２の段階をルールセットに関連付けることであって、第２の段階は第１の段階と異なる、関連付けることと、統合ユーザインターフェースを通して、ルールセットをアプリケーションプログラムに関連付ける第１の命令を受信することと、第１の命令に応答して、ルールセットをアプリケーションプログラムに関連付けることと、統合ユーザインターフェースを通して、アプリケーションを実行する第２の命令を受信することと、第２の命令に応答して、ルールセットのルールに従ってアプリケーションプログラムを実行して、入力記録を処理し、出力を生成することとを行わせる命令を含む。
【０１５５】
別の態様では、一般に、アプリケーションプログラムと併用する１つ又は複数のルールを管理するシステムが提供される。本システムは、１つ又は複数のルール仕様及び段階間の許可された遷移を定義する１つ又は複数の遷移仕様を記憶するデータ記憶システムと、グラフィカルユーザインターフェースを提供する少なくとも１つの出力デバイス又はポートと、データ記憶システム及び少なくとも１つの出力デバイス又はポートに結合されたコンピュータシステムとを含む。コンピュータシステムは、遷移情報を受信し、１組のルールを含むルールセットをアプリケーションプログラムに関連付け、アプリケーションプログラムを実行できるようにする統合ユーザインターフェースを提供する回路と、ルールセットを指定するルール仕様を検索する回路であって、ルールセットの各ルールは、ルールの入力に応じてルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースは所与の入力記録によりトリガーされる、検索する回路と、複数の段階の第１の段階をルールセットに関連付ける回路と、統合ユーザインターフェースを通してルールセットに関連付けられた遷移情報を受信する回路と、遷移情報及びルールセット及び第１の段階に関連付けられた許可された遷移に基づいて、複数の段階の第２の段階をルールセットに関連付ける回路であって、第２の段階は第１の段階と異なる、関連付ける回路と、統合ユーザインターフェースを通して、ルールセットをアプリケーションプログラムに関連付ける第１の命令を受信する回路と、第１の命令に応答して、ルールセットをアプリケーションプログラムに関連付ける回路と、統合ユーザインターフェースを通して、アプリケーションを実行する第２の命令を受信する回路と、第２の命令に応答して、ルールセットのルールに従ってアプリケーションプログラムを実行して、入力記録を処理し、出力を生成する回路とを含む。
【０１５６】
別の態様では、一般に、アプリケーションプログラムと併用する１つ又は複数のルールを管理するシステムが提供される。本システムは、遷移情報を受信し、１組のルールを含むルールセットをアプリケーションプログラムに関連付け、アプリケーションプログラムを実行できるようにする統合ユーザインターフェースを提供する手段と、ルールセットを指定するルール仕様を受信する手段であって、ルールセットの各ルールは、ルールの入力に応じてルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースは所与の入力記録によりトリガーされる、受信する手段と、複数の段階の第１の段階をルールセットに関連付ける手段と、統合ユーザインターフェースを通してルールセットに関連付けられた遷移情報を受信する手段と、遷移情報及びルールセット及び第１の段階に関連付けられた許可された遷移に基づいて、複数の段階の第２の段階をルールセットに関連付ける手段であって、第２の段階は第１の段階と異なる、関連付ける手段と、統合ユーザインターフェースを通して、ルールセットをアプリケーションプログラムに関連付ける第１の命令を受信する手段と、第１の命令に応答して、ルールセットをアプリケーションプログラムに関連付ける手段と、統合ユーザインターフェースを通して、アプリケーションを実行する第２の命令を受信する手段と、第２の命令に応答して、ルールセットのルールに従ってアプリケーションプログラムを実行して、入力記録を処理し、出力を生成する手段とを含む。
【０１５７】
別の態様では、一般に、アプリケーションプログラムと併用する１つ又は複数のルールを管理するコンピュータプログラムを記憶するコンピュータ可読媒体が提供される。コンピュータプログラムは、コンピュータシステムに、ルール仕様のグループを受信することであって、各ルール仕様は、１組のルールを含むルールセットを指定し、各ルールは、ルールの入力に応じてルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースは所与の入力記録によりトリガーされる、受信することと、個々のルールセットに関連付けることができる第１の複数の状態、ルールセットのグループに関連付けることができる第２の複数の状態、個々のルールセットに関連付けられる許容可能な状態遷移、及びルールセットのグループに関連付けられる許容可能な状態遷移を指定する遷移仕様を受信することと、第１の複数の状態の１つを各ルールセットに関連付けることと、第２の複数の状態の１つをルールセットのグループに関連付けることと、ルールセットの１つに関連付けられた第１の遷移情報を受信することと、第１の遷移情報、ルールセットに関連付けられる許可される遷移、及びルールセットに現在関連付けられている状態に基づいて、第１の複数の状態の別の１つをルールセットに関連付けることと、ルールセットのグループに関連付けられた第２の遷移情報を受信することと、第２の遷移情報、グループに関連付けられる許可される遷移、及びグループに現在関連付けられている状態に基づいて、第２の複数の状態の別の１つをルール仕様のグループに関連付けることと、ルール仕様のグループをアプリケーションプログラムに関連付けることであって、アプリケーションプログラムは、ルールセットのグループのルールに従って入力記録を処理し出力を生成するように構成される、関連付けることとを行わせる命令を含む。
【０１５８】
別の態様では、一般に、アプリケーションプログラムと併用する１つ又は複数のルールを管理するシステムが提供される。本システムは、１つ又は複数のルール仕様及び１つ又は複数の遷移仕様を記憶するデータ記憶システムと、グラフィカルユーザインターフェースを提供する少なくとも１つの出力デバイス又はポートと、データ記憶システム及び少なくとも１つの出力デバイス又はポートに結合されたコンピュータシステムを含む。コンピュータシステムは、データ記憶システムからルール仕様のグループを受信する回路であって、各ルール仕様は、１組のルールを含むルールセットを指定し、各ルールは、ルールの入力に応じてルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースは所与の入力記録によりトリガーされる、受信する回路と、データ記憶システムから、個々のルールセットに関連付けることができる第１の複数の状態、ルールセットのグループに関連付けることができる第２の複数の状態、個々のルールセットに関連付けられる許容可能な状態遷移、及びルールセットのグループに関連付けられる許容可能な状態遷移を指定する遷移仕様を受信する回路と、第１の複数の状態の１つを各ルールセットに関連付ける回路と、第２の複数の状態の１つをルールセットのグループに関連付ける回路と、ルールセットの１つに関連付けられた第１の遷移情報を受信する回路と、第１の遷移情報、ルールセットに関連付けられる許可される遷移、及びルールセットに現在関連付けられている状態に基づいて、第１の複数の状態の別の１つをルールセットに関連付ける回路と、ルールセットのグループに関連付けられた第２の遷移情報を受信する回路と、第２の遷移情報、グループに関連付けられる許可される遷移、及びグループに現在関連付けられている状態に基づいて、第２の複数の状態の別の１つをルール仕様のグループに関連付ける回路と、ルール仕様のグループをアプリケーションプログラムに関連付ける回路であって、アプリケーションプログラムは、ルールセットのグループのルールに従って入力記録を処理し出力を生成するように構成される、関連付ける回路とを含む。
【０１５９】
別の態様では、一般に、アプリケーションプログラムと併用する１つ又は複数のルールを管理するシステムが提供される。本システムは、ルール仕様のグループを受信する手段であって、各ルール仕様は、１組のルールを含むルールセットを指定し、各ルールは、ルールの入力に応じてルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースは所与の入力記録によりトリガーされる、受信する手段と、個々のルールセットに関連付けることができる第１の複数の状態、ルールセットのグループに関連付けることができる第２の複数の状態、個々のルールセットに関連付けられる許容可能な状態遷移、及びルールセットのグループに関連付けられる許容可能な状態遷移を指定する遷移仕様を受信する手段と、第１の複数の状態の１つを各ルールセットに関連付ける手段と、第２の複数の状態の１つをルールセットのグループに関連付ける手段と、ルールセットの１つに関連付けられた第１の遷移情報を受信する手段と、第１の遷移情報、ルールセットに関連付けられる許可される遷移、及びルールセットに現在関連付けられている状態に基づいて、第１の複数の状態の別の１つをルールセットに関連付ける手段と、ルールセットのグループに関連付けられた第２の遷移情報を受信する手段と、第２の遷移情報、グループに関連付けられる許可される遷移、及びグループに現在関連付けられている状態に基づいて、第２の複数の状態の別の１つをルール仕様のグループに関連付ける手段と、ルール仕様のグループをアプリケーションプログラムに関連付ける手段であって、アプリケーションプログラムは、ルールセットのグループのルールに従って入力記録を処理し出力を生成するように構成される、関連付ける手段とを含む。
【０１６０】
別の態様では、一般に、アプリケーションプログラムと併用する１つ又は複数のルールを管理するコンピュータプログラムを記憶するコンピュータ可読媒体が提供される。コンピュータプログラムは、コンピュータシステムに、１組のルールを含むルールセットを指定するルール仕様を受信することであって、各ルールは、ルールの入力に応じてルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースは所与の入力記録によりトリガーされる、受信することと、ルールセットに関連付けられた複数の状態間の許容可能な遷移を指定し、各遷移で、遷移を実施する権限を有する１人又は複数のユーザを指定する遷移仕様を受信することと、複数の状態の第１の状態をルールセットに関連付けることと、ルールセットに関連付けられた遷移情報を受信することと、遷移情報を提供したユーザが、遷移情報を提供する権限を有することを検証することと、遷移情報を提供したユーザが遷移情報を提供する権限を有することを検証した後、遷移情報及びルールセット及び第１の状態に関連付けられた許可される遷移に基づいて、複数の状態の第２の状態をルールセットに関連付けることであって、第２の状態は第１の状態と異なる、関連付けることと、ルールセットをアプリケーションに関連付けることであって、アプリケーションプログラムは、ルールセットのルールに従って入力記録を処理し出力を生成するように構成される、関連付けることとを行わせる命令を含む。
【０１６１】
別の態様では、一般に、データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールを管理するシステムが提供される。本システムは、１つ又は複数のルール仕様及び１つ又は複数の遷移仕様を記憶するデータ記憶システムと、グラフィカルユーザインターフェースを提供する少なくとも１つの出力デバイス又はポートと、データ記憶システム及び少なくとも１つの出力デバイス又はポートに結合されたコンピュータシステムとを含む。コンピュータシステムは、データ記憶システムから、１組のルールを含むルールセットを指定するルール仕様を受信する回路であって、各ルールは、ルールの入力に応じてルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースは所与の入力記録によりトリガーされる、受信する回路と、データ記憶システムから、ルールセットに関連付けられた複数の状態間の許容可能な遷移を指定し、各遷移で、遷移を実施する権限を有する１人又は複数のユーザを指定する遷移仕様を受信する回路と、複数の状態の第１の状態をルールセットに関連付ける回路と、ルールセットに関連付けられた遷移情報を受信する回路と、遷移情報を提供したユーザが、遷移情報を提供する権限を有することを検証する回路と、遷移情報を提供したユーザが遷移情報を提供する権限を有することを検証した後、遷移情報及びルールセット及び第１の状態に関連付けられた許可される遷移に基づいて、複数の状態の第２の状態をルールセットに関連付ける回路であって、第２の状態は第１の状態と異なる、関連付ける回路と、ルールセットをアプリケーションに関連付ける回路であって、アプリケーションプログラムは、ルールセットのルールに従って入力記録を処理し出力を生成するように構成される、関連付ける回路とを含む。
【０１６２】
別の態様では、一般に、アプリケーションプログラムと併用する１つ又は複数のルールを管理するシステムが提供される。本システムは、１組のルールを含むルールセットを指定するルール仕様を受信する手段であって、各ルールは、ルールの入力に応じてルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースは所与の入力記録によりトリガーされる、受信する手段と、ルールセットに関連付けられた複数の状態間の許容可能な遷移を指定し、各遷移で、遷移を実施する権限を有する１人又は複数のユーザを指定する遷移仕様を受信する手段と、複数の状態の第１の状態をルールセットに関連付ける手段と、ルールセットに関連付けられた遷移情報を受信する手段と、遷移情報を提供したユーザが、遷移情報を提供する権限を有することを検証する手段と、遷移情報を提供したユーザが遷移情報を提供する権限を有することを検証した後、遷移情報及びルールセット及び第１の状態に関連付けられた許可される遷移に基づいて、複数の状態の第２の状態をルールセットに関連付ける手段であって、第２の状態は第１の状態と異なる、関連付ける手段と、ルールセットをアプリケーションに関連付ける手段であって、アプリケーションプログラムは、ルールセットのルールに従って入力記録を処理し出力を生成するように構成される、関連付ける手段とを含む。
【０１６３】
別の態様では、一般に、データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールを管理する方法であって、１組のルールを含むルールセットを指定するルール仕様を受信することであって、各ルールは、ルールの入力に応じてルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースは所与の入力記録によりトリガーされる、受信することと、複数の段階の第１の段階をルールセットに関連付けることと、ルールセットに関連付けられた遷移情報を受信することと、遷移情報及びルールセット及び第１の段階に関連付けられた許可される遷移に基づいて、複数の段階の第２の段階をルールセットに関連付けることであって、第２の段階は第１の段階と異なる、関連付けることと、ルールセットをアプリケーションプログラムに関連付けることであって、アプリケーションプログラムは、ルールセットのルールに従って入力記録を処理し、出力を生成するように構成される、関連付けることとを含む本方法。本方法は、ルールセットのルールに従ってアプリケーションプログラムを実行して、入力記録を処理し、出力を生成することと、遷移情報の受信、ルールセットのアプリケーションプログラムへの関連付け、及びアプリケーションプログラムの実行を可能にする統合ユーザインターフェースを提供することとを含む。
【０１６４】
態様は、以下の特徴の１つ又は複数を含むことができる。
【０１６５】
ルール仕様を受信することは、ルールケースに対応する複数の行を有するスプレッドシートを受信することを含むことができる。
【０１６６】
スプレッドシートは、利用可能なデータ値に対応するトリガー列を含むことができ、ルールケースは、利用可能なデータ値に関連する複数の組のトリガー基準を含む。
【０１６７】
各ルールケースは、所与の記録の１つ又は複数のデータ値が、ルールケースが１つ又は複数の基準を有する各トリガー列で、１つ又は複数のトリガー基準を満たす場合、ルールケースが所与の記録に適用されるように構成することができる。
【０１６８】
スプレッドシートは、１つ又は複数の出力列を含むことができ、各出力列は潜在的な出力変数に対応することができ、出力変数の値は、出力列内のセルにより決定することができ、セルは、所与の記録に適用されるルールケースに対応する行にあることができる。
【０１６９】
セルは、出力変数に割り当てられた出力値又は出力値を生成するために評価される式の少なくとも一方を含むことができる。
【０１７０】
複数の段階は、開発ライフサイクルの複数の開発段階を含むことができる。
【０１７１】
複数の開発段階は、開発段階又はテスト段階の少なくとも一方を含むことができる。
【０１７２】
ルールセットは、あるフォーマットから別のフォーマットへのデータの変換、データについての判断、又は１組の入力データに基づく新しいデータの生成の少なくとも１つを実行するための１組の基準を含むことができる。
【０１７３】
ルール仕様は、複数の行を有するルール仕様表を含むことができ、各行はルールケースを定義し、１組の１つ又は複数の潜在的な入力のそれぞれの関係を含む。
【０１７４】
関係の少なくとも１つは、閾値に等しい値を有すること、閾値を超える値を有すること、閾値未満の値を有すること、１組の値に属する値を有すること、パターンに一致する値を有すること、別の入力の値への関係を有すること、別のルール仕様の出力の値への関係を有すること、又はメモリ内の値への関係を有することの１つ又は複数を含むことができる。
【０１７５】
行の少なくとも１つはまた、入力の値、所定の値、又は入力の値の１つ若しくは複数から計算される値の組合せの１つ又は複数を含む出力を含むこともできる。
【０１７６】
本方法は、ルール仕様内の複数のルールケースを複数の論理式に変換し、複数の論理式をコンパイルしてコンピュータ実行可能コードにし、コンピュータ実行可能コードをアプリケーションプログラムに組み込むことを含むことができる。
【０１７７】
本方法は、複数のルールケースを変換式に変換し、変換式を、データフローを表す要素をリンクすることにより接続されたデータ処理構成要素を有するグラフベースの計算における構成要素を関連付けることを含むことができる。
【０１７８】
許容可能な遷移は、（ｉ）開発ライフサイクル内の最初段階におけるルールセットは、後の段階に昇格することができるが、それ以上降格することはできず、（ｉｉ）開発ライフサイクルの最初段階でもなければ最後の段階でもないルールセットは、開発ライフサイクルの後の段階に昇格若しくは最初の段階に降格することができ、又は（ｉｉｉ）開発ライフサイクルの最後の段階にあるルールセットは、初期段階に降格することができるが、それ以上昇格することはできないことの少なくとも１つを含むことができる。
【０１７９】
本方法は、（ｉ）ルールセットが開発ライフサイクルの最初段階である場合、エディタインターフェースには、ルールセットを昇格させる第１の入力要素は示され、ルールセットを降格させる入力要素は示されず、（ｉｉ）ルールセットが最初段階でもなければ最後の開発段階でもない場合、エディタインターフェースには、ルールセットを昇格させる第１の入力要素及びルールセットを降格させる第２の入力要素は示され、又は（ｉｉｉ）ルールセットが最後の開発段階である場合、エディタインターフェースには、ルールセットを昇格させる入力要素は示されないことの少なくとも１つを含め、統合ユーザインターフェースの部分であるエディタインターフェース内の１つ又は複数の表示入力要素を提供することを含むことができる。
【０１８０】
ルールセットの各バージョンは、複数の開発段階を通して遷移することができる。
【０１８１】
本方法は、ルールセットの異なるバージョンを指定する複数のルール仕様を受信することを含むことができる。本方法は、ルールセットの異なるバージョンの識別子及びルールセットの異なるバージョンに関連付けられた開発段階を表示することを含むことができる。
【０１８２】
ルールセットの異なるバージョンの識別子及びルールセットの異なるバージョンに関連付けられた段階を表示することは、ルールセットの複数のメジャー又はマイナーバージョン及びルールセットのメジャー又はマイナーバージョンに関連付けられた段階を表示することを含むことができる。
【０１８３】
本方法は、ルールセットのコピーを記憶し、ルールセットに関連付けられた更新された段階に基づいてルールセットのコピーに名前を付けることを含むことができる。
【０１８４】
本方法は、ルールセットに関連付けられたタグの複数の可能な状態、状態のそれぞれに関連付けられた１つ又は複数の入力要素、及び入力要素のそれぞれに関連付けられた標的状態を指定するタグ付け仕様を受信することを含むことができる。
【０１８５】
表示入力要素とのユーザ対話に応答して、タグに、表示入力要素に関連付けられた標的状態を関連付けることができる。
【０１８６】
本方法は、ルールセットへのポインタを有するタグを使用して、ルールセットに関連付けられた状態を追跡することを含むことができ、タグは許容可能な遷移に基づいて状態間を遷移する。
【０１８７】
タグは、ルールセットに関連付けられたレビュー履歴についての情報を記憶することができる。
【０１８８】
複数の段階は、ルールセットの承認プロセスにおける複数の段階を含むことができる。
【０１８９】
別の態様では、一般に、データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールコンテナを管理する方法が提供される。本方法は、ルール仕様のグループを受信することであって、各ルール仕様は、１組のルールを含むルールセットを指定し、各ルールは、ルールの入力に応じてルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースは所与の入力記録によりトリガーされる、受信することと、個々のルールセットに関連付けることができる第１の複数の状態、ルールセットのグループに関連付けることができる第２の複数の状態、個々のルールセットに関連付けられる許容可能な状態遷移、及びルールセットのグループに関連付けられる許容可能な状態遷移を指定する遷移仕様を受信することと、第１の複数の状態の１つを各ルールセットに関連付けることと、第２の複数の状態の１つをルールセットのグループに関連付けることと、ルールセットの１つに関連付けられた第１の遷移情報を受信することと、第１の遷移情報、ルールセットに関連付けられる許可される遷移、及びルールセットに現在関連付けられている状態に基づいて、第１の複数の状態の別の１つをルールセットに関連付けることと、ルールセットのグループに関連付けられた第２の遷移情報を受信することと、第２の遷移情報、グループに関連付けられる許可される遷移、及びグループに現在関連付けられている状態に基づいて、第２の複数の状態の別の１つをルール仕様のグループに関連付けることと、ルール仕様のグループをアプリケーションプログラムに関連付けることであって、アプリケーションプログラムは、ルールセットのグループのルールに従って入力記録を処理し出力を生成するように構成される、関連付けることとを含む。
【０１９０】
態様は、以下の特徴の１つ又は複数を含むことができる。
【０１９１】
第１の複数の状態は、（ｉ）複数の開発ライフサイクル状態、又は（ｉｉ）複数の承認プロセス状態の少なくとも一方を含むことができる。
【０１９２】
第２の複数の状態は、（ｉ）複数の開発ライフサイクル状態、又は（ｉｉ）複数の承認プロセス段階の少なくとも一方を含むことができる。
【０１９３】
本方法は、ルールセットに関連付けられた状態についての情報を含む第１のタグを各ルールセットに関連付け、ルールセットに関連付けられた状態が変更された場合、第１のタグを更新することを含むことができる。
【０１９４】
本方法は、ルールセットのグループに関連付けられた状態についての情報を含む第２のタグをグループに関連付け、ルールセットのグループに関連付けられた状態が変更される場合、第２のタグを更新することを含むことができる。
【０１９５】
別の態様では、一般に、データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールを管理する方法が提供される。本方法は、１組のルールを含むルールセットを指定するルール仕様を受信することであって、各ルールは、ルールの入力に応じてルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースは所与の入力記録によりトリガーされる、受信することと、ルールセットに関連付けられた複数の状態間の許容可能な遷移を指定し、各遷移で、遷移を実施する権限を有する１人又は複数のユーザを指定する遷移仕様を受信することと、複数の状態の第１の状態をルールセットに関連付けることと、ルールセットに関連付けられた遷移情報を受信することと、遷移情報を提供したユーザが、遷移情報を提供する権限を有することを検証することと、遷移情報を提供したユーザが遷移情報を提供する権限を有することを検証した後、遷移情報及びルールセット及び第１の状態に関連付けられた許可される遷移に基づいて、複数の状態の第２の状態をルールセットに関連付けることであって、第２の状態は第１の状態と異なる、関連付けることと、ルールセットをアプリケーションに関連付けることであって、アプリケーションプログラムは、ルールセットのルールに従って入力記録を処理し出力を生成するように構成される、関連付けることとを含む。
【０１９６】
態様は、以下の特徴の１つ又は複数を含むことができる。
【０１９７】
複数の状態は、（ｉ）複数の開発ライフサイクル状態、又は（ｉｉ）複数の承認プロセス状態の少なくとも一方を含むことができる。
【０１９８】
本方法は、ルールセットに関連付けられた状態についての情報を含むタグを各ルールセットに関連付け、ルールセットに関連付けられた状態が変更された場合、タグを更新することを含むことができる。
【０１９９】
別の態様では、一般に、データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールを管理するコンピュータプログラムを記憶するコンピュータ可読媒体が提供される。コンピュータプログラムは、コンピュータシステムに、１組のルールを含むルールセットを指定するルール仕様を受信することであって、各ルールは、ルールの入力に応じてルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースは所与の入力記録によりトリガーされる、受信することと、複数の段階の第１の段階をルールセットに関連付けることと、ルールセットに関連付けられた遷移情報を受信することと、遷移情報及びルールセット及び第１の段階に関連付けられた許可される遷移に基づいて、複数の段階の第２の段階をルールセットに関連付けることであって、第２の段階は第１の段階と異なる、関連付けることと、ルールセットをアプリケーションプログラムに関連付けることであって、アプリケーションプログラムは、ルールセットのルールに従って入力記録を処理し出力を生成するように構成される、関連付けることとを行わせる命令を含む。コンピュータプログラムは、コンピュータシステムに、ルールセットのルールに従ってアプリケーションプログラムを実行して、入力記録を処理し出力を生成することと、遷移情報の受信、ルールセットのアプリケーションプログラムへの関連付け、及びアプリケーションプログラムの実行を可能にする統合ユーザインターフェースを提供することとを行わせる命令を含む。
【０２００】
別の態様では、一般に、アプリケーションプログラムと併用する１つ又は複数のルールを管理するシステムが提供される。本システムは、１つ又は複数のルール仕様及び１つ又は複数の遷移仕様を記憶するデータ記憶システムと、グラフィカルユーザインターフェースを提供する少なくとも１つの出力デバイス又はポートと、データ記憶システム及び少なくとも１つの出力デバイス又はポートに結合されたコンピュータシステムとを含む。コンピュータシステムは、データ記憶システムから、１組のルールを含むルールセットを指定するルール仕様を検索する回路であって、各ルールは、ルールの入力に応じてルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースは所与の入力記録によりトリガーされる、検索する回路と、複数の段階の第１の段階をルールセットに関連付ける回路と、データ記憶システムから、ルールセットに関連付けられた遷移情報を検索する回路と、遷移情報及びルールセット及び第１の段階に関連付けられた許可される遷移に基づいて、複数の段階の第２の段階をルールセットに関連付ける回路であって、第２の段階は第１の段階と異なる、関連付ける回路と、ルールセットをアプリケーションプログラムに関連付ける回路であって、アプリケーションプログラムは、ルールセットのルールに従って入力記録を処理し出力を生成するように構成される、関連付ける回路とを含む。コンピュータシステムは、ルールセットのルールに従ってアプリケーションプログラムを実行して、入力記録を処理し出力を生成する回路と、遷移情報の受信、ルールセットのアプリケーションプログラムへの関連付け、及びアプリケーションプログラムの実行を可能にする統合ユーザインターフェースを提供する回路とを含む。
【０２０１】
別の態様では、一般に、アプリケーションプログラムと併用する１つ又は複数のルールを管理するシステムが提供される。本システムは、１組のルールを含むルールセットを指定するルール仕様を受信する手段であって、各ルールは、ルールの入力に応じてルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースは所与の入力記録によりトリガーされる、受信する手段と、複数の段階の第１の段階をルールセットに関連付ける手段と、ルールセットに関連付けられた遷移情報を受信する手段と、遷移情報及びルールセット及び第１の段階に関連付けられた許可される遷移に基づいて、複数の段階の第２の段階をルールセットに関連付ける手段であって、第２の段階は第１の段階と異なる、関連付ける手段と、ルールセットをアプリケーションプログラムに関連付ける手段であって、アプリケーションプログラムは、ルールセットのルールに従って入力記録を処理し出力を生成するように構成される、関連付ける手段とを含む。本システムは、ルールセットのルールに従ってアプリケーションプログラムを実行して、入力記録を処理し出力を生成する手段と、遷移情報の受信、ルールセットのアプリケーションプログラムへの関連付け、及びアプリケーションプログラムの実行を可能にする統合ユーザインターフェースを提供する手段とを含む。
【０２０２】
別の態様では、一般に、アプリケーションプログラムと併用する１つ又は複数のルールを管理するコンピュータプログラムを記憶するコンピュータ可読媒体が提供される。コンピュータプログラムは、コンピュータシステムに、ルール仕様のグループを受信することであって、各ルール仕様は、１組のルールを含むルールセットを指定し、各ルールは、ルールの入力に応じてルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースは所与の入力記録によりトリガーされる、受信することと、個々のルールセットに関連付けることができる第１の複数の状態、ルールセットのグループに関連付けることができる第２の複数の状態、個々のルールセットに関連付けられる許容可能な状態遷移、及びルールセットのグループに関連付けられる許容可能な状態遷移を指定する遷移仕様を受信することと、第１の複数の状態の１つを各ルールセットに関連付けることと、第２の複数の状態の１つをルールセットのグループに関連付けることと、ルールセットの１つに関連付けられた第１の遷移情報を受信することと、第１の遷移情報、ルールセットに関連付けられる許可される遷移、及びルールセットに現在関連付けられている状態に基づいて、第１の複数の状態の別の１つをルールセットに関連付けることと、ルールセットのグループに関連付けられた第２の遷移情報を受信することと、第２の遷移情報、グループに関連付けられる許可される遷移、及びグループに現在関連付けられている状態に基づいて、第２の複数の状態の別の１つをルール仕様のグループに関連付けることと、ルール仕様のグループをアプリケーションプログラムに関連付けることであって、アプリケーションプログラムは、ルール仕様のグループのルールに従って入力記録を処理し出力を生成するように構成される、関連付けることとを行わせる命令を含む。
【０２０３】
別の態様では、一般に、アプリケーションプログラムと併用する１つ又は複数のルールを管理するシステムが提供される。本システムは、１つ又は複数のルール仕様及び１つ又は複数の遷移仕様を記憶するデータ記憶システムと、グラフィカルユーザインターフェースを提供する少なくとも１つの出力デバイス又はポートと、データ記憶システム及び少なくとも１つの出力デバイス又はポートに結合されたコンピュータシステムを含む。コンピュータシステムは、データ記録システムからルール仕様のグループを受信する回路であって、各ルール仕様は、１組のルールを含むルールセットを指定し、各ルールは、ルールの入力に応じてルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースは所与の入力記録によりトリガーされる、受信する回路と、データ記録システムから個々のルールセットに関連付けることができる第１の複数の状態、ルールセットのグループに関連付けることができる第２の複数の状態、個々のルールセットに関連付けられる許容可能な状態遷移、及びルールセットのグループに関連付けられる許容可能な状態遷移を指定する遷移仕様を受信する回路と、第１の複数の状態の１つを各ルールセットに関連付ける回路と、第２の複数の状態の１つをルールセットのグループに関連付ける回路と、ルールセットの１つに関連付けられた第１の遷移情報を受信する回路と、第１の遷移情報、ルールセットに関連付けられる許可される遷移、及びルールセットに現在関連付けられている状態に基づいて、第１の複数の状態の別の１つをルールセットに関連付ける回路と、ルールセットのグループに関連付けられた第２の遷移情報を受信する回路と、第２の遷移情報、グループに関連付けられる許可される遷移、及びグループに現在関連付けられている状態に基づいて、第２の複数の状態の別の１つをルール仕様のグループに関連付ける回路と、ルール仕様のグループをアプリケーションプログラムに関連付ける回路であって、アプリケーションプログラムは、ルール仕様のグループのルールに従って入力記録を処理し出力を生成するように構成される、関連付ける回路とを含む。
【０２０４】
別の態様では、一般に、アプリケーションプログラムと併用する１つ又は複数のルールを管理するシステムが提供される。本システムは、ルール仕様のグループを受信する手段であって、各ルール仕様は、１組のルールを含むルールセットを指定し、各ルールは、ルールの入力に応じてルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースは所与の入力記録によりトリガーされる、受信する手段と、個々のルールセットに関連付けることができる第１の複数の状態、ルールセットのグループに関連付けることができる第２の複数の状態、個々のルールセットに関連付けられる許容可能な状態遷移、及びルールセットのグループに関連付けられる許容可能な状態遷移を指定する遷移仕様を受信する手段と、第１の複数の状態の１つを各ルールセットに関連付ける手段と、第２の複数の状態の１つをルールセットのグループに関連付ける手段と、ルールセットの１つに関連付けられた第１の遷移情報を受信する手段と、第１の遷移情報、ルールセットに関連付けられる許可される遷移、及びルールセットに現在関連付けられている状態に基づいて、第１の複数の状態の別の１つをルールセットに関連付ける手段と、ルールセットのグループに関連付けられた第２の遷移情報を受信する手段と、第２の遷移情報、グループに関連付けられる許可される遷移、及びグループに現在関連付けられている状態に基づいて、第２の複数の状態の別の１つをルール仕様のグループに関連付ける手段と、ルール仕様のグループをアプリケーションプログラムに関連付ける手段であって、アプリケーションプログラムは、ルール仕様のグループのルールに従って入力記録を処理し出力を生成するように構成される、関連付ける手段とを含む。
【０２０５】
別の態様では、一般に、アプリケーションプログラムと併用する１つ又は複数のルールを管理するコンピュータプログラムを記憶するコンピュータ可読媒体が提供される。コンピュータプログラムは、コンピュータシステムに、１組のルールを含むルールセットを指定するルール仕様を受信することであって、各ルールは、ルールの入力に応じてルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースは所与の入力記録によりトリガーされる、受信することと、ルールセットに関連付けられた複数の状態間の許容可能な遷移を指定し、各遷移で、遷移を実施する権限を有する１人又は複数のユーザを指定する遷移仕様を受信することと、複数の状態の第１の状態をルールセットに関連付けることと、ルールセットに関連付けられた遷移情報を受信することと、遷移情報を提供したユーザが、遷移情報を提供する権限を有することを検証することと、遷移情報を提供したユーザが遷移情報を提供する権限を有することを検証した後、遷移情報及びルールセット及び第１の状態に関連付けられた許可される遷移に基づいて、複数の状態の第２の状態をルールセットに関連付けることであって、第２の状態は第１の状態と異なる、関連付けることと、ルールセットをアプリケーションに関連付けることであって、アプリケーションプログラムは、ルールセットのルールに従って入力記録を処理し出力を生成するように構成される、関連付けることとを行わせる命令を含む。
【０２０６】
別の態様では、一般に、データ処理システムにおいてアプリケーションプログラムと併用する１つ又は複数のルールを管理するシステムが提供される。本システムは、１つ又は複数のルール仕様及び１つ又は複数の遷移仕様を記憶するデータ記憶システムと、グラフィカルユーザインターフェースを提供する少なくとも１つの出力デバイス又はポートと、データ記憶システム及び少なくとも１つの出力デバイス又はポートに結合されたコンピュータシステムとを含む。コンピュータシステムは、データ記憶システムから１組のルールを含むルールセットを指定するルール仕様を受信する回路であって、各ルールは、ルールの入力に応じてルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースは所与の入力記録によりトリガーされる、受信する回路と、データ記憶システムから、ルールセットに関連付けられた複数の状態間の許容可能な遷移を指定し、各遷移で、遷移を実施する権限を有する１人又は複数のユーザを指定する遷移仕様を受信する回路と、複数の状態の第１の状態をルールセットに関連付ける回路と、ルールセットに関連付けられた遷移情報を受信する回路と、遷移情報を提供したユーザが、遷移情報を提供する権限を有することを検証する回路と、遷移情報を提供したユーザが遷移情報を提供する権限を有することを検証した後、遷移情報及びルールセット及び第１の状態に関連付けられた許可される遷移に基づいて、複数の状態の第２の状態をルールセットに関連付ける回路であって、第２の状態は第１の状態と異なる、関連付ける回路と、ルールセットをアプリケーションに関連付ける回路であって、アプリケーションプログラムは、ルールセットのルールに従って入力記録を処理し出力を生成するように構成される、関連付ける回路とを含む。
【０２０７】
別の態様では、一般に、アプリケーションプログラムと併用する１つ又は複数のルールを管理するシステムが提供される。本システムは、１組のルールを含むルールセットを指定するルール仕様を受信する手段であって、各ルールは、ルールの入力に応じてルールの出力の値を計算する１組のルールケースを含み、各ルールケースは１つ又は複数の入力関係を含み、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、ルールケースは所与の入力記録によりトリガーされる、受信する手段と、ルールセットに関連付けられた複数の状態間の許容可能な遷移を指定し、各遷移で、遷移を実施する権限を有する１人又は複数のユーザを指定する遷移仕様を受信する手段と、複数の状態の第１の状態をルールセットに関連付ける手段と、ルールセットに関連付けられた遷移情報を受信する手段と、遷移情報を提供したユーザが、遷移情報を提供する権限を有することを検証する手段と、遷移情報を提供したユーザが遷移情報を提供する権限を有することを検証した後、遷移情報及びルールセット及び第１の状態に関連付けられた許可される遷移に基づいて、複数の状態の第２の状態をルールセットに関連付ける手段であって、第２の状態は第１の状態と異なる、関連付ける手段と、ルールセットをアプリケーションに関連付ける手段であって、アプリケーションプログラムは、ルールセットのルールに従って入力記録を処理し出力を生成するように構成される、関連付ける手段とを含む。
【０２０８】
態様は以下の利点の１つ又は複数を有することができる。ユーザが統合された様式でルールを編集し、開発ライフサイクル及びルールのバージョニングを管理し、ルールを使用してアプリケーションのシミュレーションを実行できるようにする統合ユーザインターフェースを提供することができる。ルールエディタ、ビジネスプロセス管理モジュール、ソースコード制御モジュール、及びシミュレータの２つ以上は、共通ユーザインターフェースを共有することができ、それにより、ユーザは、２つ以上の異なるユーザインターフェースを切り替える必要なく、モジュールの２つ以上に関連付けられた機能を実行することができる。ルールエディタ、ビジネスプロセス管理モジュール、ソースコード制御モジュール、及びシミュレータの２つ以上は、メモリを共有することができ、それにより、ルール編集、ビジネスプロセス管理、ソースコード制御、及びシミュレーションのために２つ以上の別個のモジュールを一式含む従来のシステムと比較して、メモリ要件を低減する。ルールエディタ、ビジネスプロセス管理モジュール、ソースコード制御モジュール、及びシミュレータの２つ以上を統合することにより、それぞれがそれ自体のオーバーヘッドを有するルール編集、ビジネスプロセス管理、ソースコード制御、及びシミュレーションの２つ以上の別個のモジュールを一式含む従来のシステムと比較して、モジュールのオーバーヘッドを低減することができる。
【０２０９】
ルールエディタ、ビジネスプロセス管理、ソースコード制御、及びシミュレーションの２つ以上を統合することにより、デッドロック又は異なるモジュールが同じルールセット又はルールコンテナを同時に処理し、矛盾が生じる競合を回避することができる。ルールエディタ、ビジネスプロセス管理、ソースコード制御、及びシミュレーションの２つ以上は、共通ログデータオブジェクトを共有することができ、それにより、ユーザは、共通ログデータオブジェクトをレビューして、モジュールの２つ以上に関連する情報を閲覧することができる。統合システムは、ルールエディタ、ビジネスプロセス管理、ソースコード制御、及びシミュレーションに関連付けられたイベントのタイムスタンプが一貫することを保証する。比較により、ルール編集、ビジネスプロセス管理、ソースコード制御、及びシミュレーションの２つ以上の別個のモジュールを一式含む従来のシステムは、異なるモジュールが完全には同期されない異なるクロックを使用し得るため、一貫しないタイムスタンプを有し得る。例えば、従来のシステムでは、第１のモジュールが関連付けられた第１のイベントは、第２のモジュールが関連付けられた第２のイベントの前に生じ得るが、第１のモジュールのクロックが第２のモジュールのクロックよりも遅いため、第１のイベントが、第２のイベントのタイムスタンプよりも遅いタイムスタンプを有し得る。この問題は、ルールエディタ、ビジネスプロセス管理、ソースコード制御、及びシミュレーションが、共通基準クロックに基づくタイムスタンプを生成する本発明の統合システムを使用することにより回避することができる。
【０２１０】
幾つかの実施態様では、ルールエディタ、ビジネスプロセス管理モジュール、ソースコード制御モジュール、及びシミュレータは、共通クロックを共有する。ルールエディタ、ビジネスプロセス管理モジュール、ソースコード制御モジュール、及びシミュレータが同じコンピュータサーバで実行される場合、ルールエディタ、ビジネスプロセス管理モジュール、ソースコード制御モジュール、及びシミュレータにより生成されるタイムスタンプは全て、コンピュータサーバの同じシステムクロックに基づく。
【０２１１】
幾つかの実施態様では、ルールエディタ、ビジネスプロセス管理モジュール、ソースコード制御モジュール、及びシミュレータの２つ以上は、それぞれがそれ自体のシステムクロックを有する２つ以上のコンピュータサーバで実行することができる。クロックは互いと同期することができ、それにより、２つのイベントが２つのコンピュータサーバで同時に発生する場合、それらの２つのイベントのタイムスタンプは同じになる。
【０２１２】
幾つかの実施態様では、ルールエディタ、ビジネスプロセス管理モジュール、ソースコード制御モジュール、及びシミュレータの２つ以上は、それぞれがそれ自体のシステムクロックを有する２つ以上のコンピュータサーバで実行することができ、クロックは同期されない。２つ以上のコンピュータサーバのそれぞれは、それ自体のシステムクロックを基準クロックと比較して、差を特定する。各コンピュータサーバは、システムクロックと基準クロックとの差を考慮に入れて、それ自体のシステムクロックに基づいてタイムスタンプを生成し、それにより、タイムスタンプは、基準クロックに基づいて生成される場合と同じになる。例えば、第１のコンピュータサーバのシステムクロックは基準クロックとして使用することができ、その他のコンピュータサーバは、コンピュータサーバにより生成されるタイムスタンプが全て、第１のコンピュータのシステムクロックに基づくように、それ自体のシステムクロックを第１のコンピュータサーバのシステムクロックと比較することができる。このように、ルールエディタ、ビジネスプロセス管理モジュール、ソースコード制御モジュール、及びシミュレータにより生成されるタイムスタンプは全て、同じ基準クロックに基づく。
【０２１３】
さらに、ルールセットが開発ライフサイクル又はレビュープロセスの様々な段階を経る際、ビジネスタグを使用して、ルールセットを管理することができる。データリポジトリにおいて十分に相互接続されたメタデータを自動的に生成、リンクし、補助データ記憶装置としてデータリポジトリを使用するカスタムワークフローをサポートすることが有利である。メタデータアプリケーションは、データリポジトリ自体の外部に構築することができる。
【０２１４】
説明の他の特徴及び利点は、以下の説明及び特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【０２１５】
図面の簡単な説明
【図１】アプリケーション開発システムの一例のブロック図である。
【図２】統合ユーザインターフェースの一例の図である。
【図３】エディタインターフェースの一例の図である。
【図４】アプリケーション開発システムの一例のブロック図である。
【図５】作業空間の一例の図である。
【図６Ａ】作業空間及びエディタインターフェースの例の図である。
【図６Ｂ】作業空間及びエディタインターフェースの例の図である。
【図６Ｃ】作業空間及びエディタインターフェースの例の図である。
【図６Ｄ】作業空間及びエディタインターフェースの例の図である。
【図７】非統合アプリケーション開発システムの一例のブロック図である。
【図８】グラフベースの計算を実行するシステムの一例のブロック図である。
【図９】計算グラフを示す。
【図１０】スクリーンショットである。
【図１１Ａ】グラフベースの計算環境における入力データから出力データへの変換を示す。
【図１１Ｂ】グラフベースの計算の一例を示す。
【図１２】ビジネスルール環境において記憶されたデータオブジェクトの生成、表示、及びリンクのスクリーンショットを示す。
【図１３】一連のウィザード画面を示す。
【図１４】一連のウィザード画面を示す。
【図１５】オブジェクトエディタに関連付けられた一連の画面を示す。
【図１６】オブジェクトエディタに関連付けられた一連の画面を示す。
【図１７】データリポジトリに記憶されたデータオブジェクトの生成、表示、及びリンクの動作例のフローチャートである。
【図１８】タグ付け仕様の一例である。
【図１９Ａ】リリースタグのユーザがルールセットを管理できるようにするユーザインターフェースの例を示す。
【図１９Ｂ】リリースタグのユーザがルールセットを管理できるようにするユーザインターフェースの例を示す。
【図１９Ｃ】状態間の許容可能な遷移の一例を示す図である。
【図２０】タグ付け仕様の一例を示す。
【図２１】ルールセット承認プロセスの一例の図である。
【図２２】リリースタグの使用がルールセットのグループを管理できるようにするユーザインターフェースの一例である。
【図２３Ａ】ビジネスタグが関連付けられたアクティビティログの例のスクリーンショットを示す。
【図２３Ｂ】ビジネスタグが関連付けられたアクティビティログの例のスクリーンショットを示す。
【図２４】ルールを管理するユーザインターフェースのスクリーンショットの例である。
【図２５】ルールを管理するユーザインターフェースのスクリーンショットの例である。
【図２６】キャンペーンのビジネスルールを生成する例示的なプロセスの流れ図である。
【図２７】データ準備ステップを実施する例示的なプロセスの流れ図である。
【図２８】キャンペーン製品のオーサリング及び検証の例示的なプロセスの流れ図である。
【図２９】重複プロセスを実施する例示的なプロセスの流れ図である。
【図３０】スプレッドシートベースのルールエントリの一例である。
【図３１】テスト結果の例を示す。
【図３２】ルール及び対応するテスト結果の例を示す。
【発明を実施するための形態】
【０２１６】
説明
この文書において、ルールを編集し、ルールを組み込んだアプリケーションプログラムの実行をシミュレートし、ルールの複数のバージョン及びルールの様々な組合せのコンテナの複数のバージョンを管理及び制御し、ルールをオーサリング、レビュー、リスクチェック、及び承認するビジネスプロセスを管理する新規の統合アプリケーション開発システムを記載する。統合アプリケーション開発システムは、ユーザが上記機能を好都合且つ効率的に実行できるようにする統合ユーザインターフェースを提供する。幾つかの実施態様では、統合アプリケーション開発システムは、事業者が、ソフトウェアプログラミングについての深い知識を有する必要なく、例えば、数百万人又は数十億人の顧客の記録を処理する複雑なルールを組み込んだ高度なアプリケーションプログラムを開発できるようにする直観的なユーザインターフェースを提供する。統合アプリケーション開発システムは、事業者が効率的にルールをオーサリング、レビュー、テスト、及び最適化できるようにし、それにより、ビジネスは、新しいマーケティング又はビジネスキャンペーンを頻繁に始動させ、顧客の嗜好、市場の状況、及び／又はビジネス環境の変化に素早く反応することができる。
【０２１７】
図１を参照すると、幾つかの実施態様では、アプリケーション開発システム１００は、ビジネスルール、例えば、どの製品又は販売促進オファーを顧客に付与するか及び／又はどの顧客がどのリワードの対象であるかの決定を支援するために航空会社、クレジットカード会社、及び／又はオンライン市場小売業者が使用することができるルールを開発するプロセスを促進する。例えば、クレジットカード会社は、ビジネスルールを使用して、潜在的な不正クレジットカード取引の検出を支援することができる。銀行は、ビジネスルールを使用して、潜在的なマネーロンダリング及び不正な金銭取引の検出を支援することができる。銀行はまた、ビジネスルールを使用して、顧客の信用リスク、借り入れ資格、及び利率の決定を支援することもできる。保険会社は、ビジネスルールを使用して、どの顧客がどのプログラムの対象であるか及びどの保険料率を顧客に適用するかの決定を支援することができる。
【０２１８】
幾つかの実施態様では、アプリケーション開発システム１００は、ドキュメントエディタ１０２、ビジネスプロセス管理ツール１０４、ソースコード制御ツール１０６、及びアプリケーションシミュレータ１０８を含む。システム１００は、上記ツール１０２、１０４、１０６、及び１０８によりアクセスすることができるデータ（例えば、企業メタデータ）のリポジトリ１１０を含む。システム１００は、ツール１０２、１０４、１０６、及び１０８により提供されるログ情報を記憶する１つ又は複数の共通ログデータオブジェクト１１６を含む。１人又は複数のユーザ９０は、統合ユーザインターフェース１１２を使用してドキュメントエディタ１０２、ビジネスプロセス管理ツール１０４、ソースコード制御ツール１０６、アプリケーションシミュレータ１０８、及び１つ又は複数の共通ログデータオブジェクト１１６にアクセスすることができる。例えば、ログデータオブジェクトは、ファイル、メッセージ、リポート、及び／又は記録を含むことができる。ログデータオブジェクトは、ファイル、メッセージ、記録、及び／又はリポート内にフィールドを含むことができる。ログデータオブジェクトは、特定のルールセット又はルールコンテナにリンク又は関連付けることができ、それにより、ユーザ９０は、ルールセット又はルールコンテナに関連付けられた全てのログ情報に容易にアクセスすることができる。
【０２１９】
幾つかの実施態様では、ユーザ９０は、１つ又は複数のコンピュータの入力デバイス（例えば、キーボード、マウス、マイクロホン）を使用して、入力を統合ユーザインターフェース１１２に提供し、統合ユーザインターフェース１１２は、１つ又は複数のコンピュータの出力デバイス（例えば、１つ又は複数のディスプレイ及びスピーカ）を使用して出力をユーザ９０に提供する。統合ユーザインターフェース１１２は、１つ又は複数のコンピュータで実行されるモジュールにより生成された情報を表示することができる。他の入／出力デバイス及びユーザ９０と統合ユーザインターフェース１１２との間の他の対話モードを使用することもでき、本明細書の後のセクションにおいて説明する。
【０２２０】
統合ユーザインターフェース１１２は、ユーザ側構成要素及びサーバ側構成要素を有する。例えば、ユーザ９０は、１つ又は複数のウェブブラウザを使用して、ツール１０２、１０４、１０６、及び１０８にアクセスする。ウェブブラウザは、サーバ側構成要素とデータを交換し、ユーザ９０に示された１つ又は複数のウェブページに表示されるインタラクティブグラフィカル要素をレンダリングするウィジェットを含む。複数のユーザはウェブブラウザを使用して、ツール１０２、１０４、１０６、及び１０８に同時にアクセスすることができる。統合ユーザインターフェース１１２は、インターフェースをユーザ９０のそれぞれに提供して、ユーザ９０がツール１０２、１０４、１０６、及び１０８と対話できるようにする。例えば、第１のユーザ９０ａはウェブブラウザを使用して、ドキュメントエディタ１０２にアクセスし、第１のルールセットを編集し、ビジネスプロセス管理ツール１０４にアクセスして、承認に向けて第１のルールセットを提出することができる。第２のユーザ９０ｂは、ウェブブラウザを使用して、ドキュメントエディタ１０２にアクセスし、第１のルールセットをレビューし、アプリケーションシミュレータ１０８にアクセスして、第１のルールセットを組み込んだアプリケーションプログラムの実行のシミュレーションを実行し、ビジネスプロセス管理ツール１０４にアクセスして、リリースに向けて第１のルールセットを承認することができる。第３のユーザ９０ｃ（図示せず）は、ウェブブラウザを使用して、ソースコード制御ツール１０６にアクセスして、第１のルールセットをルールコンテナに追加することができる。第４のユーザ９０ｄ（図示せず）は、ウェブブラウザを使用して、ソースコード制御ツール１０６にアクセスし、ルールセットの新規バージョンを作成し、ドキュメントエディタ１０２にアクセスして、ルールセットの新規バージョンを変更する等々である。統合ユーザインターフェース１１２は、複数のユーザが、異なるツール（例えば、１０２、１０４、１０６、及び１０８）にアクセスするとき、一貫したルックアンドフィールを有するインターフェースを使用してルールセットの開発で協働できるようにする。
【０２２１】
図２を参照すると、幾つかの実施態様では、統合ユーザインターフェース１１２は、エディタインターフェース２７２０、ビジネスプロセス管理インターフェース２７２２、ソースコード制御インターフェース２７２４、アプリケーションシミュレーションインターフェース２７２６、及び共通ログインターフェース２７２８を含む。インターフェース２７２０、２７２２、２７２４、２７２６、及び２７２８は、１つ又は複数のウェブページに示されるインタラクティブグラフィカル要素を含むことができる。エディタインターフェース２７２０は、ユーザがドキュメントエディタ１０２にアクセスできるようにする。例えば、エディタインターフェース２７２０は、編集するルール仕様を表示し、ユーザがルール仕様を編集するためのツールを提供することができる。
【０２２２】
幾つかの実施態様では、第１のユーザは、リポジトリ１１４に記憶されたルールセットを編集する場合、ソースコード制御ツール１０６にアクセスして、ルールセットを借り出す。ユーザはドキュメントエディタ１０２にアクセスして、ルールセットを編集する。ルールセットが「オープン」又は「開発」状態である場合、ドキュメントエディタ１０２は、第１のユーザ（又は他の権限ユーザ）のみがアクセス可能な「サンドボックス」にルールセットのコピーを記憶する。サンドボックスは、第１のユーザが、制作環境又はリポジトリ１１４内のソースコードに影響せずに、ルールセットの様々なパラメータを用いて実験できるようにする。第１のユーザは、ルールセットの変更を終えると、ルールセットを提出又は公開し、ルールセットのコピーはリポジトリ１１０に記憶され、ルールセットの状態は「提出済み」又は「公開済み」に変更される。このとき、他のユーザは、変更されたルールセットの閲覧、編集、シミュレート、承認、及び／又は他の処理の実行を行うことができる。
【０２２３】
ビジネスプロセス管理インターフェース２７２２は、ユーザがビジネスプロセス管理ツール１０４にアクセスできるようにする。例えば、インターフェース２７２２は、編集中のルールの現在状態及びルールが遷移することができる可能な標的状態をエディタインターフェース２７２０に示すことができる。ビジネスプロセス管理インターフェース２７２２はまた、エディタインターフェース２７２０において編集中のルールに関連する他のルールの現在状態及び標的状態を示すこともできる。ビジネスプロセス管理インターフェース２７２２は、ルールセットの選択されたバージョンを含む１つ又は複数のコンテナの１つ又は複数の状態を示すことができる。ビジネスプロセス管理インターフェースは、ユーザが、「開発」状態から「テスト中」状態へのルールセットの選択されたバージョンの昇格又は「テスト中」状態から「開発」状態へのルールセットの選択されたバージョンの降格等のある状態から別の状態にルールセットの選択されたバージョンを遷移できるようにする。
【０２２４】
ソースコードコントローラインターフェース２７２４は、ユーザがソースコード制御ツール１０６にアクセスできるようにする。例えば、ソースコードコントローラインターフェース２７２４は、エディタインターフェース２７２０において編集中のルールの様々なバージョンのリストを示すことができる。ソースコードコントローラインターフェース２７２４は、ユーザが、ルールコンテナ及びルールセットの様々なバージョンを管理できるようにする。ユーザは、このインターフェースを使用して特定のルールセットの特定のバージョンを選択することができ、ルールセットの選択されたバージョンは、エディタインターフェース２７２０において編集することができる。ソースコードコントローラインターフェース２７２４は、どのユーザがリポジトリ１１４からルールセットの特定のバージョンを借り出したかに関する情報及びリポジトリ１１４からルールセットの特定のバージョンが貸し出されたときを示すタイムスタンプを示すことができる。
【０２２５】
アプリケーションシミュレーションインターフェース２７２６は、ユーザがアプリケーションシミュレータ１０８にアクセスして、エディタインターフェース２７２０において編集中であるルールセットの選択されたバージョンを組み込んだアプリケーションプログラムの実行をシミュレートして、入力データを処理し、出力データを生成できるようにする。アプリケーションシミュレーションインターフェース２７２６はまた、ユーザが、ルールセットの選択されたバージョンを使用して、アプリケーションプログラムの前にシミュレートされた実行から生成された、記憶された出力データを検索できるようにもする。
【０２２６】
テストデータを使用してアプリケーションプログラムの実行をシミュレートすることにより、ルールセットの開発者は、ルールセットを組み込んだアプリケーションプログラムが、ルールセットを組み込んだアプリケーションプログラムを制作データ（例えば、実際の顧客データ）に適用して、結果を生成する等のライブ又は制作環境で実際のデータを使用して実行されたときに生じ得る潜在的な問題を識別し補正できるようにする。以下、状況に応じて、「アプリケーションプログラムの実行の結果」という句は、テストデータを使用したアプリケーションプログラムの実行のシミュレーションからの結果又は制作データを使用したアプリケーションプログラムの実行からの結果を意味することができる。
【０２２７】
共通ログインターフェース２７２８は、ユーザが、共通ログデータオブジェクト１１６にアクセスできるようにする。例えば、共通ログインターフェース２７２８は、特定の時間期間内のタイムスタンプを有するログ情報を示すことができる。
【０２２８】
アプリケーション開発システム１００のどの機能がユーザによりアクセスされているかに応じて、エディタインターフェース２７２０、ビジネスプロセス管理インターフェース２７２２、ソースコード制御インターフェース２７２４、アプリケーションシミュレーションインターフェース２７２６、及び共通ログインターフェース２７２８、又はそれらの部分の１つ又は複数は、ユーザに表示画面で示すことができる。例えば、ユーザは、ツール１０２、１０４、１０６、及び１０８の２つ以上の機能に同時にアクセスすることができる。統合ユーザインターフェース１１２は、ユーザに同時に提示されたインターフェース２７２０、２７２２、２７２４、２７２６、及び２７２８、又はそれらの部分の２つ以上の組合せを含み得る。
【０２２９】
図２は、エディタインターフェース２７２０、ビジネスプロセス管理インターフェース２７２２、ソースコード制御インターフェース２７２４、アプリケーションシミュレーションインターフェース２７２６、及び共通ログインターフェース２７２８を別個の構成要素として示す。しかしながら、インターフェース２７２０、２０２２、２７２４、２７２６、及び２８２８の２つ以上は、１つのモジュールとして組み合わせることができる。インターフェース２７２０、２０２２、２７２４、２７２６、及び２８２８の２つ以上の部分は、１つのモジュールとして組み合わせることができる。インターフェース２７２０、２０２２、２７２４、２７２６、及び２８２８のそれぞれは、２つ以上のサブモジュールを有することができる。
【０２３０】
例えば、２人のユーザ９０ａ、９０ｂがアプリケーション開発システム１００を同時に使用する場合、統合ユーザインターフェース１１２は、第１のユーザ９０ａのコンピュータディスプレイに示される第１のグラフィカルユーザインターフェースと、第２のユーザ９０ｂのコンピュータディスプレイに示される第２のグラフィカルユーザインターフェースとを含むことができる。第１及び第２のグラフィカルユーザインターフェースのそれぞれは、エディタインターフェース２７２０、ビジネスプロセス管理インターフェース２７２２、ソースコード制御インターフェース２７２４、アプリケーションシミュレーションインターフェース２７２６、及び共通ログインターフェース２７２８、又はそれらの部分の１つ又は複数を含むことができる。同様に、アプリケーション開発システム１００に同時にアクセスする追加のユーザがいる場合、統合ユーザインターフェース１１２は、追加のユーザのコンピュータディスプレイに示される追加のインターフェースを含むことができる。
【０２３１】
図３を参照すると、幾つかの実施態様では、エディタインターフェース２５００は、ビジネスプロセス管理ツール１０４、ソースコード制御ツール１０６、アプリケーションシミュレータ１０８、及び共通ログデータオブジェクト１１６にアクセスするための構成要素（例えば、ボタン、メニュー、リンク、及び入力ボックス等のインタラクティブアイテム）を含むことができる。例えば、ユーザ９０がドキュメントエディタ１０２を実行して、特定のルールセット（例えば、ルールセット「ａｂｃ」）の特定のバージョン（例えば、バージョン「ｘｙｚ」）を編集する場合、アプリケーション開発システム１００はエディタインターフェース２５００を提供し、特定のルールセットの特定のバージョンのルール仕様を示す。図３はエディタインターフェース２５００の構成要素の例を示す。エディタインターフェース２５００は、図に示されるよりも少数又は多数の構成要素を有することができる。
【０２３２】
例えば、エディタインターフェース２５００は、ルールセットを閲覧又は編集しているユーザの識別子２５０８を示すことができる。エディタインターフェース２５００は、例えば、ファイル管理用のメニュー、編集ツール用のメニュー、及びヘルプメニュー等の一般メニューを有する一般メニューバー２５１０を含むことができる。エディタインターフェース２５００は、例えば、コピーツール、ペーストツール、及び削除ツール等の様々な編集ツールを含む編集ツールバー２５１２を有することができる。エディタインターフェース２５００は、編集中のルールセットのルール（例えば、２５０４ａ、２５０４ｂ、２５０４ｃ）を示すことができる。各ルール（例えば、２５０４ａ）は、ルールの入力に応じてルールの出力２５０８の値を計算する１つ又は複数のルールケース（例えば、２５０６ａ、２５０６ｂ、２５０６ｃ、２５０６ｄ）を含むことができ、各ルールケースは１つ又は複数の入力関係又は基準（例えば、２５１４ａ、２５１４ｂ、２５１４ｃ）を含むことができ、ルールケースは、所与の入力記録の１つ又は複数のデータ値が１つ又は複数の入力関係を満たす場合、所与の入力記録によりトリガーされる。
【０２３３】
エディタインターフェース２５００は、ルールセットの現在状態２５２６と、ユーザがルールセットの状態を変更できるようにするツール２５２８とを示すことができる。例えば、ツール２５２８は、ルールセットが遷移することができる標的状態のリストを有するメニューであることができる。ツール２５２８は、ルールセットが遷移することができる標的状態を表す１つ又は複数のボタンを含むことができる。エディタインターフェース２５００は、ルールセットを含むルールコンテナを示すセクション２５１６を有することができる。この例では、コンテナＡＡＡのバージョンｘ．ｘ、コンテナＢＢＢのバージョンｙ．ｙ、及びコンテナＣＣＣのバージョンｚ．ｚは、ルールセットａｂｃのバージョンｘｙｚを含む。エディタインターフェース２５００は、ビジネスプロセス管理ツール１０４に関連するツール及び情報を示すセクション２５１８を有することができる。例えば、セクション２５１８は、状態間でのタグの許容可能な遷移を指定するタグ付け仕様を編集するのに使用することができるツールを含むことができる。タグ付け仕様は、本明細書の後のセクションにおいてより詳細に説明する。
【０２３４】
エディタインターフェース２５００は、ソースコード制御ツール１０６に関連するツール及び情報を示すセクション２５２０を有することができる。例えば、セクション２５２０は、ルールのバージョンを変更し、ルールの新規バージョンを生成し、又はルールの旧バージョンを削除するのに使用することができるツールを含むことができる。エディタインターフェース２５００は、アプリケーションシミュレータ１０８に関連するツール及び情報を示すセクション２５２２を含むことができる。例えば、セクション２５２２は、入力記録を処理する、ルールを組み込むアプリケーションプログラムの実行をシミュレートした結果を示すことができる。エディタインターフェース２５００は、共通ログデータオブジェクト１１６に関連するツール及び情報を示すセクション２５２４を含むことができる。例えば、セクション２５２２は、ルールセットａｂｃのバージョンｘｙｚに関連するログ情報を示すことができ、ここで、ログ情報はツール１０２、１０４、１０６、及び／又は１０８により書き込むことができる。
【０２３５】
幾つかの実施態様では、ビジネスプロセス管理インターフェース２７２２は、ユーザ９０が、ドキュメントエディタ１０２、ソースコード制御ツール１０６、アプリケーションシミュレータ１０８、及び共通ログデータオブジェクト１１６等のその他のモジュールの１つ又は複数にアクセスできるようにするインタラクティブアイテム（例えば、ボタン、メニュー、リンク、入力ボックス）を含むことができる。ソースコード制御インターフェース２７２４は、ユーザ９０がドキュメントエディタ１０２、ビジネスプロセス管理ツール１０４、アプリケーションシミュレータ１０８、及び共通ログデータオブジェクト１１６等のその他のモジュールの１つ又は複数にアクセスできるようにするインタラクティブアイテム（例えば、ボタン、メニュー、リンク、入力ボックス）を含むことができる。アプリケーションシミュレーションインターフェース２７２６は、ユーザ９０がドキュメントエディタ１０２、ビジネスプロセス管理ツール１０４、ソースコード制御ツール１０６、及び共通ログデータオブジェクト１１６等のその他のモジュールの１つ又は複数にアクセスできるようにするインタラクティブアイテム（例えば、ボタン、メニュー、リンク、入力ボックス）を含むことができる。共通ログインターフェース２７２８は、ユーザ９０がドキュメントエディタ１０２、ビジネスプロセス管理ツール１０４、ソースコード制御ツール１０６、及びアプリケーションシミュレータ１０８等のその他のモジュールの１つ又は複数にアクセスできるようにするインタラクティブアイテム（例えば、ボタン、メニュー、リンク、入力ボックス）を含むことができる。
【０２３６】
本明細書では、「統合」ユーザインターフェースは、ユーザが、（ｉ）ドキュメントエディタ１０２、ビジネスプロセス管理ツール１０４、ソースコード制御ツール１０６、アプリケーションシミュレータ１０８の２つ以上、又は（ｉｉ）上記ツール１０２、１０４、１０６、及び１０８が１つ又は複数の共通ログデータオブジェクト１１６を共有する上記ツール１０２、１０４、１０６、及び１０８の２つ以上に関連付けられた機能にアクセスできるようにするユーザインターフェースを指す。統合ユーザインターフェースは、１つ又は複数のコンピュータにより制御される１つ又は複数のディスプレイに示されるグラフィカルユーザインターフェースを指すことができる。統合ユーザインターフェースは、１つ又は複数のコンピュータで実行中のモジュールにより生成された情報を示すことができる。
【０２３７】
再び図１を参照すると、ドキュメントエディタ１０２、ビジネスプロセス管理ツール１０４、ソースコード制御ツール１０６、アプリケーションシミュレータ１０８のそれぞれは、情報を共通ログデータオブジェクト１１６に書き込むことができる。例えば、ソースコード制御ツール１０６は、共通ログデータオブジェクト１１６に、特定のユーザ識別子が関連付けられたユーザがリポジトリ１１０から特定のルールセットの特定のバージョンを借り出したことを指定する情報と、ルールセットが借り出されたタイミングを指定するタイムスタンプとを書き込むことができる。ドキュメントエディタ１０２は、共通ログデータオブジェクト１１６に、ルールセットを編集したユーザに関連付けられたユーザ識別子についての情報と、編集が実行されたタイミングを指定するタイムスタンプとを書き込むことができる。
【０２３８】
ビジネスプロセス管理ツール１０４は、共通ログデータオブジェクト１１６に、特定のユーザ識別子が関連付けられたユーザが、第１の状態から第２の状態へのルールセットの遷移を承認したことを指定する情報と、状態の遷移のタイミングを指定するタイムスタンプとを書き込むことができる。アプリケーションシミュレータ１０８は、共通ログデータオブジェクト１１６に、特定のユーザ識別子が関連付けられたユーザが、ルールセットを使用してアプリケーションプログラムを実行して、出力を生成したことを指定する情報と、ルールセットを組み込んだアプリケーションプログラムの実行のタイミングとを書き込むことができる。アプリケーションシミュレータ１０８は、共通ログデータオブジェクト１１６に、特定のユーザ識別子が関連付けられたユーザが、特定のルールセットの特定のバージョンを使用したアプリケーションプログラムの前の実行から生成された、記憶された出力を検索したことを指定する情報と、記憶された出力の検索のタイミングを指定するタイムスタンプとを書き込むことができる。上記は、ツール１０２、１０４、１０６、及び１０８が共通ログデータオブジェクト１１６に書き込むことができる情報の種類の単なる例である。ツール１０２、１０４、１０６、及び１０８は、他のタイプの情報を共通ログデータオブジェクト１１６に書き込むこともできる。例えば、誰がどのルールにアクセスしたか、誰がどのルールを編集したか、誰がどのルールを承認したか、及び上記イベントがいつ発生したかに関するログ情報は、例えば、法的要件に準拠し、又は潜在的なエラーの原因を特定するために、企業が後に監査を実行するのに役立つことができる。
【０２３９】
図４を参照すると、幾つかの実施態様では、アプリケーション開発システム２７００は、例えば、通信ネットワーク、例えば、広域ネットワーク（ＷＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、又はマルチプロセッサシステム内若しくはチップ上のネットワークを通して接続されたコンピュータサーバ又はプロセッサのグループを含む分散計算環境において実行される。異なるツールが異なるコンピュータ又はプロセッサで実行される。この例では、ドキュメントエディタ１０２は第１のコンピュータ２７０２で実行され、ビジネスプロセス管理ツール１０４は第２のコンピュータ２７０４で実行され、ソースコード制御ツール１０６は第３のコンピュータ２７０６で実行され、アプリケーションシミュレータ１０８は第４のコンピュータ２７０８で実行される。１人又は複数のユーザ９０は、統合ユーザインターフェース１１２を通してドキュメントエディタ１０２、ビジネスプロセス管理ツール１０４、及びソースコード制御ツール１０６、及びアプリケーションシミュレータ１０８と対話する。ツール１０２、１０４、１０６、及び１０８が同じサーバコンピュータで実行されるか、それとも異なるサーバコンピュータで実行されるかに関係なく、統合ユーザインターフェース１１２は、バックエンドプロセスの複雑さを隠すユーザフレンドリなインターフェースを提供する。
【０２４０】
再び図１を参照すると、幾つかの実施態様では、ドキュメントエディタ１０２は、例えば、後述するタグを使用してルールの状態を管理するビジネスプロセス管理ツール１０４にリンク又は統合することができる。ドキュメントエディタ１０２がルールを変更する場合、その変更はビジネスプロセス管理ツール１０４に伝搬し、ツール１０４の出力に影響を及ぼすことができる。幾つかの例では、ビジネスプロセス管理ツール１０４の出力は、ドキュメントエディタ１０２により行われた変更に応答して自動的に更新される。幾つかの例では、ユーザは、ドキュメントエディタ１０２により行われた変更をビジネスプロセス管理ツール１０４に伝搬されることを手動で要求する必要がある。
【０２４１】
同様に、ドキュメントエディタ１０２はソースコード制御ツール１０６にリンク又は統合することができ、それにより、例えば、ルールのバージョンがリリースに向けて承認された場合、ルールのそのバージョンはソースコード制御ツール１０６により記憶され、ソースコード制御ツール１０６は、ルールの様々なバージョンのマスタリポジトリ１１４を保持する。ドキュメントエディタ１０２は、ビジネスルールを組み込んだアプリケーションプログラムの実行のシミュレーションを可能にするアプリケーションシミュレータ１０８にリンク又は統合することができる。ドキュメントエディタ１０２がルールを変更する場合、その変更はアプリケーションシミュレータ１０８に伝搬され、シミュレータ１０８の出力に影響を及ぼすことができる。幾つかの例では、ルールの変更はアプリケーションシミュレータ１０８の実行をトリガーし、シミュレータ１０８の出力は自動的に更新される。幾つかの例では、ユーザは、シミュレータ１０８からの更新された出力を得るために、ルールがドキュメントエディタ１０２により変更された後、アプリケーションシミュレータ１０８の実行を手動で要求する必要がある。
【０２４２】
ビジネスプロセス管理ツール１０４は、ユーザが、統合ユーザインターフェース１１２を使用してルールの任意のバージョンを検索し、ルールの状態を決定し、ルールの状態を変更できるようにするソースコード制御ツール１０６にリンク又は統合することができる。ビジネスプロセス管理ツール１０４は、ユーザが統合ユーザインターフェース１１２を使用して、ルールを組み込んだアプリケーションプログラムの実行のシミュレーションを実行した後、ルールの状態を変更できるようにするアプリケーションシミュレータ１０８にリンク又は統合することができる。ソースコード制御ツール１０６は、ユーザが統合ユーザインターフェース１１２を使用して、ルールの任意のバージョンをアプリケーションプログラムに組み込み、ルールを組み込んだアプリケーションプログラムの実行のシミュレーションを実行できるようにするアプリケーションシミュレータ１０８にリンク又は統合することができる。
【０２４３】
統合ユーザインターフェース１１２は、ユーザ９０が、一貫したルックアンドフィールを有する、例えば、同様の全体デザイン、配色、メニュー構造、及びフォント特徴を有するインターフェースを使用してドキュメントエディタ１０２、ビジネスプロセス管理ツール１０４、ソースコード制御ツール１０６、アプリケーションシミュレータ１０８、及び共通ログデータオブジェクト１１６にアクセスできるようにする。
【０２４４】
統合ユーザインターフェース１１２は、ビジネスルールを処理する作業を簡易化することができる。例えば、図５を参照すると、アプリケーション開発システム１００は、ユーザにより処理する必要がある作業アイテムを示す、各ユーザの「作業空間」２５４０を実施することができる。作業空間２５４０は、ルールがなお編集中であるドラフトドキュメントであることを意味する「オープン」状態であるルールの第１のリスト２５４２を含む第１の作業キューを示すことができる。作業空間２５４０は、ルールがレビュー可能な状態であることを示す「提出済み」状態であるルールの第２のリスト２５４４を含む第２の作業キューを示すことができる。第２のリストは、ユーザによるレビュー可能な状態のルールを含む。作業空間２５４０は、ルールがユーザにより編集されており、他者によるレビュー可能な状態である「提出済み」状態であるルールの第３のリスト２５４６を示すことができる。作業空間２５４０は、ルールがユーザにより編集され、承認された「承認済み」状態であるルールの第４のリスト２５４８を示すことができる。
【０２４５】
以下、第１のユーザ９０ａが「ｒｅｗａｒｄ＿ｒｕｌｅ＿１」という名称のルールを編集し、第２のユーザ９０ｂがルールをレビューする一例について説明する。図６Ａを参照すると、例えば、第１のユーザ９０ａは、第１のユーザ９０ａが関連付けられた作業空間２５５０にログインすると、「オープン」状態であるルールの第１のリスト２５４２内にルール「ｒｅｗａｒｄ＿ｒｕｌｅ＿１」を見る。図６Ｂを参照すると、第１のユーザ９０ａはルール「ｒｅｗａｒｄ＿ｒｕｌｅ＿１」をダブルクリックし、ドキュメントエディタ１０２を呼び出すことができ、エディタインターフェース２７２０を第１のユーザ９０ａに提示させ、第１のユーザ９０ａが選択されたルール「ｒｅｗａｒｄ＿ｒｕｌｅ＿１」を編集できるようにする。エディタインターフェース２７２０は、編集中のルールの隣に現在状態「オープン」２５５２及び「提出済み」ボタン２５５４を示すことができる。第１のユーザが９０ａは、ルール「ｒｅｗａｒｄ＿ｒｕｌｅ＿１」の編集を終えた後、「提出済み」ボタン２５５４をクリックして、ルール「ｒｅｗａｒｄ＿ｒｕｌｅ＿１」の状態を「オープン」から「提出済み」に変更することができる。
【０２４６】
図６Ｃを参照すると、第１のユーザ９０ａがルール「ｒｅｗａｒｄ＿ｒｕｌｅ＿１」の状態を「オープン」から「提出済み」に変更した後、ルール「ｒｅｗａｒｄ＿ｒｕｌｅ＿１」は第１のユーザ９０ｂの作業空間２５５０内のルールの第３のリスト２５４６に表示され、ルールが他者によるレビューを待っていることを示す。同時に、ルール「ｒｅｗａｒｄ＿ｒｕｌｅ＿１」は、第１のユーザ９０ａにより提出されたルールのレビューを担当する第２のユーザ９０ｂの作業空間２５６０内のルールの第２のリスト２５４４に表示される。
【０２４７】
例えば、第２のユーザ９０ｂは、第２のユーザ９０ｂが関連付けられた作業空間２５６０にログインし、ルール「ｒｅｗａｒｄ＿ｒｕｌｅ＿１」がルールの第２のリスト２５４４内に表示され、レビューを待っていることを見る。図６Ｄを参照すると、第２のユーザ９０ｂは、ルールをレビューするために、ルール「ｒｅｗａｒｄ＿ｒｕｌｅ＿１」をダブルクリックして、ドキュメントエディタ１０２を呼び出すことができる。エディタインターフェース２７２０は、ルールの隣に「シミュレート」ボタン２５５６、テスト入力ファイルを選択できるようにするテストファイル選択ツール２５５８、及びシミュレートするアプリケーションプログラムを選択できるようにするアプリケーションプログラム選択ツール２５６０を示すことができる。第２のユーザ９０ｂは、テスト入力ファイル「ｔｅｓｔ＿ｉｎｐｕｔ＿１」及びアプリケーション「ａｐｐｌｉｃａｔｉｏｎ＿１」を選択し、「シミュレート」ボタンをクリックして、システム１００にアプリケーションシミュレータ１０８を呼び出させることができる。アプリケーションシミュレータ１０８は、ルール「ｒｅｗａｒｄ＿ｒｕｌｅ＿１」内のルールケースを複数の論理式に変換し、複数の論理式をコンピュータ実行可能コードにコンパイルし、コンピュータ実行可能コードをアプリケーションプログラム「ａｐｐｌｉｃａｔｉｏｎ＿１」に組み込み、アプリケーションプログラム「ａｐｐｌｉｃａｔｉｏｎ＿１」を実行し、「ｒｅｗａｒｄ＿ｒｕｌｅ＿１」を使用して「ｔｅｓｔ＿ｉｎｐｕｔ＿１」ファイル内のテスト入力記録を処理し、出力データを生成する。
【０２４８】
エディタインターフェース２７２０は、ルール「ｒｅｗａｒｄ＿ｒｕｌｅ＿１」の隣に「承認」ボタン２５６２及び「拒絶」ボタン２５６４を示すことができる。第２のユーザ９０ｂは、シミュレーションからの出力データが正確であることに満足した場合、「承認」ボタン２５６２をクリックして、ルール「ｒｅｗａｒｄ＿ｒｕｌｅ＿１」を承認し、ルールの状態を「提出済み」から「承認済み」に変更することができる。第２のユーザ９０ｂは、ルールに問題があると思う場合、「拒絶」ボタン２５６４をクリックして、ルール「ｒｅｗａｒｄ＿ｒｕｌｅ＿１」を拒絶し、ルールの状態を「提出済み」から「オープン」に変更することができる。
【０２４９】
第２のユーザ９０ｂがルールを拒絶したと仮定する。エディタインターフェースは、ルール「ｒｅｗａｒｄ＿ｒｕｌｅ＿１」の隣にテキスト入力ボックスを示し、第２のユーザ９０ｂがコメントを書けるようすることができ、コメントは共通ログデータオブジェクト１１６に記憶される。この例では、第２のユーザ９０ｂは、ルール「ｒｅｗａｒｄ＿ｒｕｌｅ＿１」の拒絶理由が、リワードが高すぎるためであることを示すコメント「リワードが高すぎる」を書く。ルール「ｒｅｗａｒｄ＿ｒｕｌｅ＿１」の状態が「オープン」に変更された後、ルール「ｒｅｗａｒｄ＿ｒｕｌｅ＿１」は第１のユーザ９０ａの第１の作業キューに表示される。
【０２５０】
第１のユーザ９０ａは、ルール「ｒｅｗａｒｄ＿ｒｕｌｅ＿１」が拒絶され、「オープン」状態に戻ったことを見る。システム１００は、ルール「ｒｅｗａｒｄ＿ｒｕｌｅ＿１」に関連するコメントを共通ログデータオブジェクト１１６から検索し、コメントをルール「ｒｅｗａｒｄ＿ｒｕｌｅ＿１」の隣に表示する。第１のユーザ９０ａは、コメント「リワードが高すぎる」を見て、ドキュメントエディタ１０２を呼び出し、リワード額を下げるようにルールケースを改訂し、アプリケーションシミュレータ１０８を呼び出して、ルールの実行をシミュレートする。第１のユーザ９０ａは、アプリケーションプログラム「ａｐｐｌｉｃａｔｉｏｎ＿１」及びテストファイル「ｔｅｓｔ＿ｉｎｐｕｔ＿１」をシミュレーションに選択する。アプリケーションシミュレータ１０８は、ルール「ｒｅｗａｒｄ＿ｒｕｌｅ＿１」内の改訂されたルールケースを複数の論理式に変換し、複数の論理式をコンピュータ実行可能コードにコンパイルし、コンピュータ実行可能コードをアプリケーションプログラム「ａｐｐｌｉｃａｔｉｏｎ＿１」に組み込み、アプリケーションプログラム「ａｐｐｌｉｃａｔｉｏｎ＿１」を実行し、改訂された「ｒｅｗａｒｄ＿ｒｕｌｅ＿１」を使用して「ｔｅｓｔ＿ｉｎｐｕｔ＿１」ファイル内のテスト入力記録を処理し、出力データを生成する。アプリケーションシミュレータ１１８は出力データを保存する。第１のユーザ９０ａは、出力データをレビューし、リワードが正しく下げられたことを確認し、ルール「ｒｅｗａｒｄ＿ｒｕｌｅ＿１」の状態を「オープン」から「提出済み」に再び変更する。
【０２５１】
第２のユーザ９０ｂは、第１のユーザ９０ａがルール「ｒｅｗａｒｄ＿ｒｕｌｅ＿１」を再提出したことを見て、アプリケーションシミュレータ１０８を呼び出し、リワードが正しく下げられたか否かをチェックする。第２のユーザ９０ｂは、アプリケーションプログラム「ａｐｐｌｉｃａｔｉｏｎ＿１」及びテストファイル「ｔｅｓｔ＿ｉｎｐｕｔ＿１」をシミュレーションに選択する。アプリケーションシミュレータ１０８は、ルール「ｒｅｗａｒｄ＿ｒｕｌｅ＿１」がアプリケーションプログラム「ａｐｐｌｉｃａｔｉｏｎ＿１」に組み込まれ、「ｔｅｓｔ＿ｉｎｐｕｔ＿１」ファイルがテスト入力に使用された前のシミュレーションが実行されたと判断する。アプリケーションシミュレータ１０８は、前に生成された出力データをロードし、その出力データを第２のユーザ９０ｂに提示する。
【０２５２】
第２のユーザ９０ｂは、前に生成された出力データをレビューし、リワードが正しく下げられたことを確認し、ルール「ｒｅｗａｒｄ＿ｒｕｌｅ＿１」に伴う他の問題がないと判断し、ルールの隣にある「承認済み」ボタンをクリックする。ルール「ｒｅｗａｒｄ＿ｒｕｌｅ＿１」の状態が「提出済み」から「承認済み」に変更された後、第１のユーザ９０ａは、作業空間２５５０において、ルール「ｒｅｗａｒｄ＿ｒｕｌｅ＿１」が、承認済みであるルールの第４のリスト２５４８内に表示されているのを見る。
【０２５３】
第１及び第２のユーザによりルール「ｒｅｗａｒｄ＿ｒｕｌｅ＿１」を処理する上記例では、ドキュメントエディタ１０２、ビジネスプロセス管理ツール１０４、及びアプリケーションシミュレータ１０８がユーザによりわずか少数のクリックで呼び出された。統合ユーザインターフェース１１２は、ルールを処理する際、ユーザがドキュメントエディタ１０２、ビジネスプロセス管理ツール１０４、ソースコード制御ツール１０６、アプリケーションシミュレータ１０８、及び／又は共通ログデータオブジェクト１１６に都合良くアクセスできるようにする、適切なインタラクティブ要素（例えば、ボタン、メニュー、リンク、テキスト入力ボックス）が提供されるように構成される。
【０２５４】
より詳細に後述するように、アプリケーション開発システム１００は、図７に示されるシステム２６００等の非統合アプリケーション開発システムよりも優れた幾つかの改善を有する。例えば、非統合アプリケーション開発システム２６００は、別個のツールが共通の組のユーザインターフェースを共有せず、共通ログデータオブジェクトを共有しないアプリケーションスイートとして別個のツールを一緒にバンドリングすることにより構築し得る。例えば、システム２６００は、エディタインターフェース２６０２を通してアクセスされるドキュメントエディタ２６１０、ビジネスプロセス管理インターフェース２６０４を通してアクセスされるビジネスプロセス管理ツール２６１２、アプリケーションシミュレーションインターフェース２６０６を通してアクセスされるアプリケーションシミュレータ２６１４、及びソースコード制御インターフェース２６０８を通してアクセスされるソースコード制御ツール２６１６を含むことができる。非統合アプリケーション開発システム２６００内の各ツール２６１０、２６１２、２６１４、及び２６１６は、それ自体のユーザインターフェース（それぞれ２６０２、２６０４、２６０６、及び２６０８）を有し、システム２６００内の異なるツールの異なるインターフェースのルックアンドフィールは異なり得る。
【０２５５】
例えば、システム２６００内の異なるツール（例えば、２６１０、２６１２、２６１４、２６１６）がファイルを不揮発性記憶装置に記憶する場合、異なるツールは、ツールに関連付けられた異なるローカルファイルディレクトリにファイルを記憶することができる。したがって、例えば、システム２６００において、ドキュメントエディタ２６１０が第１のコンピュータ「Ｃｏｍｐ＿１」で実行される場合、ドキュメントエディタ２６１０は、作業ドキュメントを「Ｃｏｍｐ＿１＼ｕｓｒ＼ｄｏｃ＿ｅｄｉｔｏｒ＼ｗｏｒｋｉｎｇ  ｆｉｌｅ＼」等のローカルファイルディレクトリに保存することができる。システム２６００では、ビジネスプロセス管理ツール２６１２が第２のピュータ「Ｃｏｍｐ＿２」で実行される場合、ビジネスプロセス管理ツール２６１２は、作業ドキュメントを「Ｃｏｍｐ＿２＼ｕｓｒ＼ｂｐｍ＼ｗｏｒｋｉｎｇ＿ｆｉｌｅ＼」等のローカルファイルディレクトリに保存することができる。システム２６００では、ソースコード制御ツール２６１６が第３のコンピュータ「Ｃｏｍｐ＿３」で実行される場合、ソースコード制御ツール２６１６は、作業ドキュメントを「Ｃｏｍｐ＿３＼ｕｓｒ＼ｓｏｕｒｃｅ＿ｃｏｄｅ＿ｃｏｎｔｒｏｌ＼ｗｏｒｋｉｎｇ＿ｆｉｌｅ＼」等のローカルファイルディレクトリに保存することができる。システム２６００では、アプリケーションシミュレータ２６１８が第４のコンピュータ「Ｃｏｍｐ＿４」で実行される場合、アプリケーションシミュレータ２６１８は、作業ドキュメントを「Ｃｏｍｐ＿４＼ｕｓｒ＼ａｐｐ＿ｓｉｍ＼ｗｏｒｋｉｎｇ＿ｆｉｌｅ＼」等のローカルファイルディレクトリに保存することができる。
【０２５６】
システム２６００では、ドキュメントエディタ２６１０は、ビジネスプロセス管理ツール２６１２、ソースコード制御ツール２６１６、及びアプリケーションシミュレータ２６１４の作業ファイルがどこに記憶されているかを知らないことがある。同様に、システム２６００では、アプリケーションシミュレータ２６１４は、ドキュメントエディタ２６００、ビジネスプロセス管理ツール２６１２、及びソースコード制御ツール２６１６の作業ファイルがどこに記憶されているかを知らないことがある。したがって、システム２６００では、ユーザは、必要なファイルにアクセスするために、異なる作業ファイルディレクトリ間をナビゲートするのに時間を費やす必要がある。システム２６００では、ユーザは、異なるツールがその他のツールの作業ファイルディレクトリのロケーションを知るために、正しいファイルパスを設定する労力を費やす必要があり得る。
【０２５７】
比較により、システム１００は、ユーザが、ルールを処理する際、様々なツール１０２、１０４、１０６、１０８、及び１１６の作業ファイルディレクトリの詳細を覚えている必要なく、様々なツールの作業ファイルに都合良くアクセスできるようにする統合ユーザインターフェース１１２を有する。
【０２５８】
例えば、アプリケーション開発システム１００は、非統合システム２６００と比較して他の利点を有することができる。例えば、アプリケーション開発システム１００ではメモリ要件が下がり（システム２６００と比較して）、その理由は、ツール１０２、１０４、１０６、及び１０８がメモリに記憶された同じデータにアクセスし、システム２６００では必要であり得るデータ複製の必要性が低減するためである。図７に示されるように、ドキュメントエディタ、ビジネスプロセス管理ツール、アプリケーションシミュレータ、及びソースコード制御ツールはそれぞれ、ファイル及びデータのコピーをローカルに記憶する。システム１００は、ツール１０２、１０４、１０６、及び１０８がアクセス可能な共通ログデータオブジェクト１１６を有し、それにより、ツール１０２、１０４、１０６、及び１０８の１つにより共通ログデータオブジェクト１１６に入力された情報は、ツール１０２、１０４、１０６、及び１０８の別のツールによりアクセスすることができる。共通ログデータオブジェクト１１６をレビューすることにより、ユーザは、例えば、特定のルールコンテナ又はルールセットの特定のバージョンにアクセス、編集、承認、及び／又はシミュレートを行ったのが誰であるか及びそれらのイベントがいつ発生したかを特定することができる。これは、各ツールがそれ自体のログファイルに書き込むシステム２６００よりも好都合である。システム２６００では、ユーザは、特定のルールコンテナ又はルールセットの特定のバージョンにアクセス、編集、承認、及び／又はシミュレートを行ったのが誰であるか及びそれらのイベントがいつ発生したかについての情報を得るために、複数のログファイルにアクセスする必要がある。
【０２５９】
システム１００は、統合ユーザインターフェース１１２により、ユーザがツール１０２、１０４、１０６、１０８、及び１１６の２つ以上の機能にアクセスすることができ、ツール１０２、１０４、１０６、１０８、及び１１６の２つ以上の出力は、例えば、並べて示されてユーザに提供することができる。ツール１０２、１０４、１０６、及び１０８の１つにより処理されたデータに行われた変更は、ツール１０２、１０４、１０６、及び１０８の別の１つにより生成される出力の更新を自動的にトリガーすることができる。
【０２６０】
例えば、図２では、ユーザは、アプリケーションシミュレーションインターフェース２７２６を使用してテスト入力ファイル及びアプリケーションプログラムを選択することができる。ユーザは、エディタインターフェース２７２０を使用してルールを編集することができる。幾つかの実施態様では、ユーザがルールを変更する際、アプリケーション開発システム１００は、アプリケーションシミュレータ１０８を自動的に呼び出して、ルールのルールケースを複数の論理式に変換し、複数の論理式をコンピュータ実行可能コードにコンパイルし、コンピュータ実行可能コードを選択されたアプリケーションプログラムに組み込み、選択されたアプリケーションプログラムを実行してルールを使用し、テスト入力記録を処理し、出力データを生成する。アプリケーションシミュレーションインターフェース２７２６は出力データをユーザに示す。これは、高速フィードバックをユーザに提供し、ユーザがルールケースに幾つかのパラメータ値を試して、最適な値を発見できるようにする。幾つかの実施態様では、アプリケーションシミュレータ１０８は、アプリケーションプログラムを実行する前、ユーザからの明示的な命令を待つように構成される。
【０２６１】
図１では、ドキュメントエディタ１０２、ビジネスプロセス管理ツール１０４、ソースコード制御ツール１０６、及びアプリケーションシミュレータ１０８は、別個のモジュールとして表され、これは単なる一例である。幾つかの例では、ツール１０２、１０４、１０６、及び１０８の２つ以上は、１つのユニット又はモジュールとして構成することができる。幾つかの例では、ツール１０２、１０４、１０６、及び１０８は全て、１つの統合モジュールとして実施することができる。幾つかの例では、ツール１０２、１０４、１０６、及び１０８のそれぞれは、２つ以上のモジュールにより実施することができる。幾つかの例では、幾つかのモジュールを使用し得、各モジュールはツール１０２、１０４、１０６、及び／又は１０８の機能の一部を実施する。ツール１０２、１０４、１０６、及び１０８のそれぞれ、全て、又は幾つかの部分は、ソフトウェア、ハードウェア、又はソフトウェアとハードウェアとの組合せで実施し得る。
【０２６２】
以下、まず、ビジネスルールを組み込むことができるグラフベースの計算を実行するシステム（図８）、ビジネスルールを処理するユーザインターフェースにおいてオブジェクトの生成に使用することができるモジュール、及びこれらのモジュールの使用例（図９及び図１０）、ビジネスルールの例（図１１Ａ）、ビジネスルールを組み込むことができる計算グラフの例（図１１Ｂ）、ビジネスルールを処理するユーザインターフェースの例（図１２〜図１６）、ビジネスルールを処理する際にオブジェクトをリンクするプロセスの例（図１７）、ビジネスルールについての情報を有する仕様をタグ付けする例（図１８及び図２０）、タグを使用して、ビジネスルールを管理する例（図１９Ａ、図１９Ｂ、図１９Ｃ）、ビジネスルールを開発するライフサイクルの例（図２１）、ビジネスルールについての情報を有するリリースタグの例（図２２）、及びアクティビティログの例（図２３Ａ及び図２３Ｂ）について説明する。
【０２６３】
次に、アプリケーション開発システム１００のモジュールについて更に詳細に説明し、アプリケーション開発システム１００をいかに使用して、ビジネスルールを開発することができるかを説明し、ドキュメントエディタ１０２及びソースコード制御ツール１０６がいかに、ユーザがルールの異なるバージョンに容易にアクセスし編集し、ルールの異なるバージョンを比較できるようにする統合ユーザインターフェースを提供することができるかを説明する（図２４及び図２５）。また、マーケティング又はビジネスキャンペーンで使用されるビジネスルールの開発に当たり、アプリケーション開発システム１００をいかに使用することができるかの例（図２６〜図２９）も説明する。
【０２６４】
グラフベースの計算
図８は、グラフベースの計算を開発、実行、及び管理する計算システム１２０の部分の相互関係を示す概略ブロック図である。グラフベースの計算は、有向グラフにより表される「データフローグラフ」を使用して実施され、グラフ中の頂点は構成要素（例えば、データファイル、プロセス等）を表し、グラフ中の有向リンク又は「エッジ」は、構成要素間のデータのフローを表す。幾つかの例では、グラフィック開発環境（ＧＤＥ）１２２は、実行可能グラフを指定し、グラフ構成要素のパラメータを定義するユーザインターフェースを提供する。ＧＤＥ１２２は、リポジトリ１２４及び並列動作環境１２６と通信する。リポジトリ１２４及び並列動作環境１２６には、ユーザインターフェースモジュール１２８及び外部データ記憶装置１３０も結合される。
【０２６５】
リポジトリ１２４は好ましくは、グラフベースのアプリケーションの開発及び実行並びにグラフベースのアプリケーションと他のシステム（例えば、他のオペレーティングシステム）との間のメタデータの交換をサポートするように設計されたスケーラブルなオブジェクト指向データベースシステムである。この構成では、リポジトリ１２４は、企業メタ環境（ＥＭＥ：Enterprise Meta Environment）と呼ばれ、文書化、記録フォーマット（例えば、表中の記録のフィールド及びデータ型）、変換関数、グラフ、ジョブ、モニタリング情報等を含め、１つ又は複数のタイプのメタデータを記憶可能である。特に、ＥＭＥ１２４は、グラフベースの計算に関連付けられたメタデータを記憶し得る。この状況では、各コンピュータプログラムは、データフローグラフ又は単にグラフとも呼ばれる計算グラフを使用して実施されるものとして見なすことができる。グラフは、通信して（例えば、フロー又はエッジにより）データフローを可能にし得る１つ又は複数の構成要素（又は頂点）を含む。幾つかの構成では、グラフは並列処理環境１２６において実行することができる。
【０２６６】
データ記憶装置として実施されるため、ＥＭＥ１２４は、グラフの開発における変更を追跡し、統計解析及び依存解析を実行し、グラフの開発に関するメタデータを管理し、他の同様の機能を提供することができる。一般に、グラフ関連のメタデータの記憶により、データインパクト解析が可能になり、それにより、グラフにおいてデータがいかに変更されているか及びそれらの変更が１つ又は複数の他のグラフに与えるインパクトの視覚的な意味をユーザに提供する。さらに、ＥＭＥ１２４は、グラフの複数のバージョンを記憶できるようにし得、それにより、例えば、開発中、コードの変更及び調整を追跡し得る。ＥＭＥ１２４はまた、外部データ記憶装置１３０に記憶されたデータを含め、計算システム１２０により処理すべき実際のデータを表すデータオブジェクトを記憶する。
【０２６７】
並列動作環境１２６は、ＧＤＥ１２２において生成されたデータフローグラフの仕様を受け入れ、グラフにより定義された処理論理及びリソースに対応する実行可能命令（例えば、コンピュータ命令）を生成する。次に、並列動作環境１２６は通常、複数のプロセッサ（同種である必要はない）でこれらの命令を実行する。
【０２６８】
ユーザインターフェースモジュール１２８は、ＥＭＥ１２４のコンテンツのブラウザベースのビューを提供する。ユーザインターフェースモジュール１２８を使用して、ユーザは、オブジェクトを閲覧し、新規オブジェクトを生成し、既存のオブジェクトを変更する等し得る。例えば、ユーザインターフェースモジュール１２８は、ユーザがオブジェクト及びＥＭＥ１２４に記憶されたオブジェクトについての情報をサーチし閲覧するブラウザ画面を生成し得る。
【０２６９】
ＥＭＥ１２４に記憶されるメタデータは、グラフ構成要素及び計算グラフを構築するための他の機能オブジェクトを含め、グラフベースのアプリケーションのデータオブジェクトを含み得る。１つ又は複数のタイプのメタデータをＥＭＥ１２４に記憶することもでき、例えば、「技術的」メタデータ（例えば、アプリケーション関連ビジネスルール、記録フォーマット、及び実行統計）並びに「企業」又は「ビジネス」メタデータ（例えば、ジョブの機能、役割、及び関係のユーザ定義の文書化）及び他の同様のタイプを記憶し得る。
【０２７０】
データオブジェクトの形態でＥＭＥ１２４に記憶された情報により、アプリケーション及びそれらのアプリケーションにより生成されたデータに関する様々な種類の解析が可能になる。例えば、ユーザは、所与の値の由来、出力値がいかに計算されたか、及びどのアプリケーションがデータを生成し、どのアプリケーションがデータに依存するか等のデータ系統についての問いへの答えを得ることができる。開発者は、提案された変更の結果を理解することができる（例えば、この構成要素が変更された場合、他の何が影響を受けるか。このソースフォーマットが変更された場合、どのアプリケーションが影響を受けるか）。ユーザ又は開発者はまた、どのユーザ又は開発者グループが特定のデータセットの制作及び使用を担当するか又は特定のアプリケーションへの最新の更新が何であるか等の技術的メタデータ及びビジネスメタデータの両方に関わる問いへの答えを得ることもできる。
【０２７１】
ＥＭＥ１２４はまた、記憶されたデータのステータスを追跡することが可能でもある。例えば、１つ又は複数のデータオブジェクトの複数のバージョンを追跡し記憶し得、それにより、時間の経過に伴って（例えば、１週間、１ヶ月、又は１年にわたり）オブジェクトの状態を調査し、それをオブジェクトの現在状態と比較できるようにする。例えば、ＥＭＥ１２４は、トレンド解析（例えば、データの成長速度）及び容量計画（例えば、そのアプリケーションが実行にかかる時間、そのアプリケーションが生成するデータ量、及びデータ生成速度、アプリケーションが消費するリソースが何であるか。別のサーバを追加する必要があるときはいつか。）を可能にするジョブ追跡又は実行情報を収集し得る。
【０２７２】
ユーザは、ユーザインターフェースモジュール１０８を通して、記憶されたデータオブジェクトに含まれ、記憶されたデータオブジェクトに関連付けられた情報を閲覧（及び任意選択で編集）することができる。一実施態様では、ユーザは、１つ又は複数の「ビュー」を定義することができ、これは、ブラウザページにおいてデータオブジェクトの関連サブセットについての情報を提供する。「ビュー」は、オブジェクト間の関係に基づいて１つ又は複数のデータオブジェクトを選択するシンタックスを使用して定義される。
【０２７３】
図９に示されるように、ＥＭＥブラウザインターフェース２０２は、ＥＭＥ１２４内のユーザインターフェースモジュール１２８により生成し得る。ＥＭＥ１２４において特定のオブジェクトについての詳細を表示するために、ＥＭＥブラウザインターフェース２０２は、オブジェクト（例えば、オブジェクトＡ）に含まれる情報を使用してブラウザページ２０６（例えば、ハイパーテキストマークアップ言語（ＨＴＭＬ）形式を含む）の少なくとも一部を生成し得る。例えば、図１０に示されるスクリーンショットでは、「ｅｘａｍｐｌｅ１」という名称のドキュメントオブジェクトについての詳細が表示される。図９に戻ると、このブラウザページ２０６生成の一環として、オブジェクト（例えば、オブジェクトＡ）からの情報を使用し、レンダリングされるページ又はページの一部を返す要素レンダラー２０４が呼び出される。ページは、オブジェクトＡに関連付けられた情報を表示し、ユーザ対話を受信するための入力要素を含む表示要素を含め、様々なブラウザ形式要素を含み得る。この特定の構成では、ボタン２０８は、ユーザ対話を受信可能な要素として提供されるが、様々なユーザ対話のいずれかを受信するために、他の入力要素を使用することもできる。例えば、メニュー（例えば、ドロップダウンメニュー）、チェックボックス、及び他の同様のタイプの要素を利用し得る。一般に、要素レンダラー２０４は、特定のタイプの任意のオブジェクトに対して実行し得る特定のアクティビティに通常提議される１つ又は複数のソフトウェアプログラム又はルーチンにより実施される再使用可能な論理を指す。したがって、要素レンダラー２０４は、オブジェクトに対してどの動作が実行されるかを決定し得、続けて、どの入力要素（例えば、ボタン２０８）をブラウザページ２０６（ブラウザインターフェース２０２に表示される）にレンダリングすべきかを決定し得る。ユーザ動作と対応する要素（例えば、ボタン）との関係は一般に、要素レンダラー２０４内で指定される論理により提供される。要素レンダラーが、複数の動作又は異なる選択肢をサポートするように構成されていた場合、ユーザは、「閲覧」への包含を指定する際、パラメータをレンダラーに渡し得る。
【０２７４】
一構成では、要素レンダラー（「ｆｉｌｅ＿ｕｐｌｏａｄ．ｐｙ」と呼ばれる）は、新規ドキュメントをＥＭＥ１２４に追加するか、又は既存のドキュメントを置換することができる。図１０に示されるスクリーンショットを参照すると、テキスト「ドキュメント取り替え」の右側にある要素は、要素レンダラー２０４により生成されている。しかしながら、どの動作をとるかは、「閲覧」の一環として要素レンダラー２０４を構成するときに指定し得る。一例では、関数呼び出し要素レンダラー（例えば、「ｆｉｌｅ＿ｕｐｌｏａｄ．ｐｙ」）は、デフォルトにより、新規ドキュメントをＥＭＥ１２４に追加し得る。関数呼び出し要素レンダラー（例えば、「ａｃｔｉｏｎ＝ｒｅｐｌａｃｅ」であるｆｉｌｅ＿ｕｐｌｏａｄ．ｐｙ）はまた、現在のドキュメントを置換し得る。別の例では、複数のパラメータをそのような関数呼び出し（例えば、「ａｃｔｉｏｎ＝ａｄｄ＆ｒｕｌｅ＿ｎａｍｅ＝ｍｙ＿ｄｏｃ＿ｏｉｄ」であるｆｉｌｅ＿ｕｐｌｏａｄ．ｐｙ）に指定し得る。特定の要素を要素レンダラーにより表示すべきである（例えば、ボタン２０８）と判断するために、レンダラーに関連付けられた論理は、提供された（及び「閲覧」の一部に関連付けられた）パラメータを使用し得る。要素レンダラー２０４及びそれに関連付けられたプログラムはまた、通常、ＥＭＥ１０４に記憶される。プログラムは１つのオブジェクト専用ではないため、そのようなプログラムは、ＥＭＥ１２４に提示された複数のオブジェクトに適用し得る。
【０２７５】
ブラウザに表示されるＨＴＭＬ形式の可視部分（例えば、ファイル「閲覧」制御ボタン３０２及び「提出」ボタン３０４）に加えて、ファイルの提出（又は別の同様の動作）中、ＨＴＭＬ形式内に隠された情報を使用することもできる。一般に、ボタン２０８が押下される（ユーザ対話を介して）と、状況又は関連付けられた機能（例えば、図１０における「提出」ボタン３０４）に関係なく、スクリプト２１０が呼び出される。スクリプト２１０は、様々なタイプのユーザ要求（例えば、ＨＴＴＰ固有サービス）に応答し得、そして、ＥＭＥ１２４においてサーバ側処理を提供し得る。ＥＭＥ１２４におけるオブジェクトのブラウザページ（例えば、ブラウザページ２０６）は、特定のオブジェクト又は１組のオブジェクトに基づいて描き得る。例えば、ユーザがＥＭＥ１２４に記憶された１つ又は複数のオブジェクトを選択したことに応答して表示されたブラウザページは、選択されたオブジェクトに関連付けられた情報又は様々な特徴のレンダリングであり得る。スクリプト（例えば、スクリプト２１０）は、コンテンツ及び／又はレイアウトがオブジェクトに依存するページ又はページの要素のカスタムレンダリングを生成可能であり得る。幾つかの構成では、要素レンダラー２０４は、特定のオブジェクトに基づいてブラウザページの１つ又は複数の要素をレンダリングし得、ブラウザページの他の部分は、異なるオブジェクトに基づく要素の１つ又は複数のレンダリングを含み得る。スクリプト２１０により様々なタイプの入力、例えば、オブジェクト（例えば、オブジェクトＡ）に関連付けられた情報、ユーザ提供情報（例えば、ブラウザページ２０６を通して入力される）、及び他のタイプの情報を使用することができる。実行中、スクリプト２１０は、ＥＭＥ１２４内で１つ又は複数の他のオブジェクトを生成し得る。例えば、第２のオブジェクトＢ  ２１２をＥＭＥ１２４内に生成し得るが、複数のオブジェクトを生成してもよい。１つ又は複数のオブジェクトの生成と併せて、スクリプト２１０は、オブジェクト間にリンク（関係と呼ばれる）を確立することもできる。例えば、リンク２１４は、オブジェクトＢ  ２１２とオブジェクトＡとの間に確立し得る。そのようなリンクを確立するために、１つ又は複数の技法を使用し得、例えば、コマンドを呼び出し得る（例えば、ＥＭＥ１２４に関連付けられたコマンドラインインターフェースを使用して）。その制作に関連付けられたオブジェクト（例えば、オブジェクトＡ）にリンクされることと併せて、オブジェクトＢ  ２１２は、オブジェクトＡのレンダリングされた１つ又は複数の要素（例えば、ボタン３０４）に関連付けられたスクリプト２１０により決まる他のオブジェクトにリンクすることもできる。
【０２７６】
この構成では、ＥＭＥ１２４は、オブジェクト指向リポジトリであり、オブジェクト及び関連付けられた関係を含む。幾つかの例では、新たに生成されたオブジェクトは、表示中のブラウザページに対応するオブジェクト（又は複数のオブジェクト）にリンクし得る。他の場合、オブジェクト（例えば、既存のオブジェクト）へのリンクは、ＨＴＭＬ形式に提供される情報から決定し得る。幾つかの例では、オブジェクトＡ及びＢはＥＭＥ１２４においてリンクし得（例えば、リンク２１４）、リンクは、ナビゲーションのためにブラウザページ２０６にリンクとして表示し得る。そのような技法は１つ又は複数の利点を提供し、例えば、ＥＭＥ１２４においてどのオブジェクトにリンクするかについての知識は、自動的に決定されるものとして見なすことができる。ＥＭＥ１２４内の各オブジェクトは「ドメイン」に記憶し得、ドメインは、オブジェクトがＥＭＥ１２４内の他のオブジェクトに関連付けられる関係についての情報を含む。リンク（例えば、リンク２１４）の１つを生成する場合、オブジェクトを関連付ける（例えば、オブジェクトがポイントする）ドメインを示す情報をドメインに追加し得る。スクリプト２１０はまた、例えば、逆関係（例えば、別のオブジェクトがそれをポイントすること）を記録するように標的オブジェクトのドメインを更新することもできる。リンク２１４等のリンクは、特定のオブジェクト（例えば、オブジェクトＡ又はＢ）に関連するＥＭＥ１２４に記憶されたドキュメントの幾つか又は全てで示すことができる。幾つかの例では、スクリプト２１０は、ユーザの入力に関連付けられた許可をチェックして、新規オブジェクトの生成が許可されているか否かを判断し得、許可されていない場合、ユーザに通知することができる。
【０２７７】
幾つかの構成では、ユーザはまた、新規ブラウザページ又は現在のページ（例えば、ページ２０６）をリフレッシュしたものに向けられ得、それにより、実行された動作の結果（例えば、スクリプト２１０により実行された動作効果）を示すこともできる。幾つかの例では、複数のユーザは、ＥＭＥ１２４に概ね同時に変更を行い得、それにより、リフレッシュにより変更を表示させる。別の例では、スクリプト２１０の実行に起因して、新規オブジェクト（又は複数の新規オブジェクト）が生成され得、幾つかの属性が設定されており（例えば、直接ユーザ編集を介して）、新規オブジェクト（又は複数のオブジェクト）は、幾つかの既存のオブジェクトにリンクされていることがある。リフレッシュに基づいて、新たに生成されたオブジェクトの詳細ビューを表示し得る。このビューは、属性を編集する際、ユーザにより供給された情報をユーザに提示し得る。例えば、オブジェクトのビューは、オブジェクト間のリンクを利用して、ＥＭＥ１２４内の他のオブジェクトにナビゲートし、追加の情報を集めることができる。ナビゲーションは、開始オブジェクトから開始オブジェクトにリンクされた別のオブジェクト（例えば、リンクの方向に基づいて「上流」又は「下流」）への「ウォーク」動作を実行することを含み得る。複数のウォーク動作を連続リンクを介して実行して、１つ又は複数の関連するオブジェクトにナビゲートし得る。このウォークの結果として、リフレッシュ後、追加の情報をユーザに提示することができる。
【０２７８】
ユーザはまた、新規ブラウザページ又は現在のページ２０６をリフレッシュしたものに向けられて、ＥＭＥ１２４に記憶すべき追加の情報を促すこともできる。例えば、新たに生成されたオブジェクト（例えば、オブジェクトＢ）又は関係リンクを経由してナビゲートされることにより関連する異なる１つ若しくは複数のオブジェクトに関連付けられた情報を供給するようにユーザに促し得る。新たに生成されたオブジェクトの自動リンクの利点は、オブジェクトのコンテキストが、ユーザとの続く対話の改善及び強化に役立つことができることである。例えば、ユーザは、組織の複数の部門の１つ（例えば、部門のデータオブジェクトに基づく）に関連付けられたブラウザページに、従業員を表すデータオブジェクトを生成する入力を提供し得る。ページをリフレッシュすると、例えば、追加された従業員の監督者を表すデータオブジェクトを選択するための選択肢メニュー（例えば、ドロップダウンメニュー）を提供することができる。スクリプト２１０が、従業員データオブジェクトを部門データオブジェクトに自動的にリンクする場合、メニュー内の選択肢のリストは、データオブジェクトがその部門のメンバとして部門データオブジェクトにリンクされている既存の従業員に制限することができる。
【０２７９】
要素レンダラー２０４は、例えば、ＥＭＥ１２４に記憶されるpythonスクリプト又はKornシェルスクリプト等の高水準コンピュータプログラミング言語を使用して実施し得る。実行の結果は、閲覧設計に依存するブラウザページ２０６の断片であり、ＥＭＥブラウザインターフェース２０２により生成されたコンテンツの残りの部分に挿入することができる。要素レンダラー２０４は、「ビュー」の一要素のＨＴＭＬを生成し得る。幾つかの例では、ビュー要素は、コマンドラインインターフェース（図示せず）を使用して順次構成される。要素レンダラー２０４により返されたブラウザページ断片は、幾つかの場合では、１つのボタン２０８のように単純に表示され得るが、他の場合、ページ部分はデータ入力のための他の形態の要素を含み得る。図１０に示される例は、ファイル「閲覧」入力要素３０２を有する。
【０２８０】
上述したように、ユーザがクリックしてファイルを提出すると、通常、スクリプト２１０が呼び出される。スクリプト２１０は、pythonスクリプトとして又は別の同様の形式で実施し得る。幾つかの例では、スクリプト２１０により実行される動作は、以下のステップを通して実行し得る。スクリプト２１０はまず、ＥＭＥ１２４へのコマンドラインインターフェースを使用して、ＥＭＥ１２４内で新規オブジェクト（例えば、オブジェクトＢ  ２１２）を生成し得る。図１０に示される例を参照すると、アップロードに関連付けられて、新規オブジェクトは、ユーザがデスクトップコンピュータからアップロードしたファイルであり得る。他の場合、新規オブジェクトはまず、全体的に空であり得るが、他のメタデータ又は属性を添付することができるプレースホルダとして生成し得る。次に、スクリプト２１０は、新規オブジェクトをＥＭＥ１２４内の既存のオブジェクト（例えば、オブジェクトＡ）にリンクし得る。最後に、スクリプト２１０は、ユーザを新規ページに向け、又はユーザのために元のページをリフレッシュし得る。ユーザが新規ページに向けられる場合、そのページは通常、新たにリンクされ生成されたオブジェクトのウェブベースのエディタである。
【０２８１】
オブジェクトをリンクする例
実施例１：ユーザフィードバック
一実施態様では、ＥＭＥ１２４内の任意のオブジェクトのボタン（例えば、ボタン２０８）をブラウザページ（例えば、ブラウザページ２０６）に表示することができる。ユーザがボタンをクリックすると、スクリプト（例えば、スクリプト２１０）は、実行されて新規備考オブジェクトを生成するように構成し得る。スクリプトは、新規備考オブジェクトをポイントする元のオブジェクト（例えば、オブジェクトＡ）のリンクを生成することもできる。生成された新規備考オブジェクトは、元のオブジェクトについてのものであると仮定し得る。幾つかの例では、新規備考は元のオブジェクトの一環として記憶されないことがある。したがって、この備考を後に見つけ表示するために、元のオブジェクトと新規備考オブジェクトとの間にリンク又は関係を生成し得る。それにより、オブジェクトに関連する全ての備考又はオブジェクトの幾らかより大きな集まりを表示するブラウザページ又はリポートを設計し得る。例えば、この実施態様は、ユーザがプロジェクト内のオブジェクトを開始したことのフィードバックを提供することが可能であり得る。さらに、ユーザは、新規備考オブジェクトのテキストコンテンツを入力するように、エディタにリダイレクトされ得る。
【０２８２】
幾つかの実施態様では、上述した特徴を使用して、ビジネスルール又はビジネスルールのパッケージの備考を生成することができる。ルールが何故、承認又は拒絶されたのかについての備考を生成することができる。備考が生成されると、備考は関連するルール又はルールのパッケージに自動的にリンクされる。
【０２８３】
実施例２：ファイルアップロード
この例では、要素レンダー２０４は、ファイル閲覧制御（例えば、サーバにアップロードするためのコンピュータシステム上のユーザ選択可能ファイル）を含むフォーム及びボタン（例えば、ボタン２０８）をＥＭＥオブジェクトのブラウザページに表示するのに使用される。幾つかの例では、要素レンダラー２０４は、一意の識別子が関連付けられたブラウザページ要素を生成し、複数のファイルアップロードフォームを同じブラウザページに表示できるようにする。ユーザが閲覧して、ＥＭＥ１２４に存在するプロジェクトの一部であるオブジェクトに関連するファイル（例えば、Excelスプレッドシート）を選択した（及びボタンをクリックした）後、スクリプト２１０が呼び出されて、ファイルを新規ドキュメントオブジェクトとしてＥＭＥ１２４にロードする。スクリプト２１０に関連付けられた演算は、元のブラウザページに対応するオブジェクトから新規ドキュメントオブジェクトへのリンクを生成し得る。続けて、ナビゲーション及び報告のために、オブジェクトがリンクされたドキュメントのリストを示す、元のオブジェクトのブラウザページにユーザをリダイレクトし得る。
【０２８４】
実施例３：ビジネスルール環境（ＢＲＥ）でのルールセットの水平バージョニング
一実施態様において、ビジネスルール（例えば、メタデータのサブセットの形態）はＥＭＥ１２４に記憶し得る。様々なタイプ及び態様のビジネスルールを実施し得、例えば、ルールは、「Editing and Compiling Business Rules」と題する米国特許第８，０６９，１２９号、「Editing and Compiling Business Rules」と題する米国特許第８，３８６，４０８号、「Editing and Compiling Business Rules」と題する米国特許第８，３８０，６５１号、「Editing and Compiling Business Rules」と題する米国特許第９，００２，７７０号、及び「Editing and Compiling Business Rules」と題する米国特許第９，５８９，２３２号に記載されるものと同様であり得る。上記特許（米国特許第８，０６９，１２９号、米国特許第８，３８６，４０８号、米国特許第８，３８０，６５１号、米国特許第９，００２，７７０号、及び米国特許第９，５８９，２３２号を含む）の全体内容は参照により本明細書に援用される。各ビジネスルールは、別個のＥＭＥオブジェクトに格納することができる。ビジネスルールは、あるフォーマットから別のフォーマットへのデータの変換、データについての決定、又は１組の入力データに基づく新規データの生成の１組の基準として表現することができる。例えば、図１１Ａにおいて、フライト予約システムにおける記録４０２は、乗客の名前４０４、乗客の今年度の飛行マイル数４０６、乗客のチケットのクラス４０８、及び乗客の座席の行４１０を示すフィールドの値を含む。ビジネスルールは、そのような乗客が特定の搭乗グループ（例えば、搭乗グループ１）に割当てられるべきことを示し得る。ビジネスルールは一般にユーザに理解され易い（例えば、「ファーストクラスの乗客はグループ１である」）が、そのような情報は計算デバイス（例えば、コンピュータシステム）により認識され処理される１つ又は複数の他の形式に変換する必要があり得る。
【０２８５】
特定の一構成では、グラフベースの計算環境においてビジネスルールを実施するために、１つ又は複数のデータソース（例えば、入力データセット４００）から記録４０２等の入力記録を受信する変換式４１２を生成し得る。「変換式」という用語は、入力データを出力データに変換する、ソフトウェアモジュール又はデータ処理エンティティ等のメカニズムを指し、ここで、データの変換は、例えば、データのフィルタリング、ソート、クレンジング、統合、及び抽出を含み得る。データの変換は、データ処理エンティティによる任意のタイプのデータ操作であることができる。変換式は、この情報を、乗客の名前４０４及び乗客がどのグループに割当てられているか（例えば、グループ４１８）を示す出力記録、例えば記録４１４に挿入し得る。これに対応して、記録４１４を出力データセット４２０に挿入し得る。この例では、例示的な記録を示すデータセット（例えば、データセット４２０）が示されているが、一般に、データセットは任意の数及びタイプの記録を含み得る。幾つかの構成では、例えば、（データセットからの）データはグラフに流入又はグラフから流出し得るため、入力データセット及び出力データセットはデータストリームとも呼ばれ得る。
【０２８６】
変換式は、データ処理構成要素を有し、データフローを表すリンク要素により接続し得るグラフベースの計算に組み込み得る。例えば、図１１Ｂに示す計算グラフ４３０は、１つ又は複数の計算の入力を提供する２つのデータセット４３２、４３４（例えば、高利用頻度乗客データ及びフライト予約データ）を含む。フォーマット構成要素４３６、４３８は、例えば、結合されて（例えば、結合構成要素４４０により）出力データセット４４２（追加の処理演算と使用し得る）となる共通にフォーマットされたデータセットを生成するように、同様又は異なるタイプの調整を使用して入力データをフォーマットする。変換式はそれ自体、グラフ４３０内にある等のグラフベースの計算であってもよく、又はグラフ４３０を構成する個々の構成要素４３６、４３８、及び４４０等のグラフの構成要素内で実施されてもよい。
【０２８７】
幾つかの構成では、１つ又は複数の技法を使用して、変換式の生成を簡易化し得る（例えば、非技術系のユーザの場合）。例えば、実行すべき１つ又は複数の変換式をコンピュータシステムに提供する、ユーザが１組のビジネスルール（ルールセットと呼ばれる）を馴染みやすいフォーマットで入力するためのツールを提供し得る。例えば、ルールセットは、１つの変換式を生成する１組のルールと見なし得る。ルールは、入力に応じてルールの異なる出力に異なる値を計算する１つ又は複数のルールケースで構成し得る。ルールはまた、追加の出力又は代替の出力を生成し得る複数のルールを含んでもよい。ルールセットはまた、「被包含」ルールセットとも呼ばれ得る他のルールセットを含んでもよい。
【０２８８】
例えば、ルールセットは、取引、例えば、クレジットカート取引の記録を入力として受信し得、出力としてアラートメッセージ、例えば、不正取引を示すメッセージ又は残高超過をユーザに警告するメッセージを生成し得る。ルールセットは、入力記録の１つ又は複数のフィールドが公式のパラメータである１つ又は複数の数式を含み得る。
【０２８９】
ＥＭＥ１２４内のプロジェクトについて、ブラウザページはプロジェクトに含まれる幾つか又は全てのルールセットを列挙し得る。この場合、ブラウザページは、特定のオブジェクト、例えば、特定のプロジェクトに関連する詳細を表示し得る。ＥＭＥ１２４におけるプロジェクトは通常、様々な技術的メタデータを含む。この例では、ブラウザページは、プロジェクトに含まれる全てのルールセットを列挙し得る。このリストにおける各ルールセットに対して、例えば、同じ要素レンダラー２０４を介して、幾つかのボタン又は他のタイプの要素を表示し得る。
【０２９０】
図１２を参照すると、一連の行が例示的なリストに含まれ、リストの各行は４つのボタン（例えば、ボタン５０２、５０４、５０６、及び５０８）を含む。表示された各ボタンは、異なる選択肢を有する要素レンダラー（例えば、要素レンダラー２０４）を呼び出すことにより提供される。特に、ボタン５０２、５０４、５０６、及び５０８はそれぞれ、ルールセット「ルールセットを昇格」、「ルールセットを降格」、「新マイナーバージョン」、及び「新メジャーバージョン」に基づいて実行することができる異なる動作を示す。ルールセットの昇格には、特定のルールセットを開発フェーズからテストフェーズへ遷移させること及び最終的に生産フェーズ（例えば、データ処理のためにユーザがルールセットを実行し得る）へ遷移させることが広く関連付けられ得る。これらの４つの動作は、開発ライフサイクル中にルールを昇格又は降格するため、場合によってはルールの異なるバージョン（例えば、新メジャーバージョン、マイナーバージョン等）を生成するのに使用し得る。そのような機能は、ある時間期間にわたりルールセットを進化させながら、ルールセットの前のバージョン（比較的古いことがある）へのアクセス（及び使用）を可能にする。例えば、既存のルール又はルーセットを変更するのではなく、ルール又はルールセットの新規コピーを生成し、調整し、新しいバージョン番号を割り当て得る。
【０２９１】
幾つかの構成では、要素レンダラー（例えば、要素レンダラー２０４）は、ルールセットに関連付けられた１つ又は複数の許可に基づいて、特定のボタンを表示すべきか否かを判断するように構成し得る。例えば、許可には、ルールセットの変更及びその現在の開発ライフサイクルを関連付け得る。一例として開発ライフサイクルを参照すると、そのライフサイクルにおける異なるフェーズは開発（「Ｄｅｖ」）、テスト（「Ｔｅｓｔ」）及び生産（「Ｐｒｏｄ」）であり得る。したがって、要素レンダラー（例えば、要素レンダラー２０４）の論理は、これら３つのフェーズを順次（その特定の順序で）経験し得る。「Ｐｒｏｄ」フェーズに到達すると、ルールセットはそれ以上昇格されない。同様に、「Ｄｅｖ」フェーズでは、ユーザはルールをそれ以上降格させない。要素レンダラー２０４は、ユーザがボタンをクリックする場合に表示することができる確認テキストを予め計算することもできる。すなわち、ユーザがボタンの１つをクリックすると、テキストを含むポップアップグラフィックを表示し、動作を確認し得る。例えば、１行目のボタン５０２をクリックすると、「あなたは本当にルールセット−１−ＤｅｖをＴｅｓｔに昇格させたいですか？」を示すテキストを有するダイアログボックスをポップアップし得る。そのような表示を提供することにより、ユーザは動作を確認し得、それにより、意図しない変更がなされる（意図しないクリックからの）確率が下がる。
【０２９２】
加えて、ユーザがボタンの１つをクリックすると、スクリプト２１０が呼び出されて、対応するルールセットがコピーされる。既に内容が含まれていれば、ルールセットはコピーされ、続く変更の開始点として使用し得る。代替的には、元のルールセットに変更を行い得るように、コピーはバックアップとして機能し得る。ルールセットの新規コピーの名称は、ルールの元の名称及び動作に基づいて決定し得る。ユーザが後に区別することができるように、異なる名称を使用することもできる。例えば、ルール名が元々「Ｄｅｖ」で終わり、ルールが昇格される場合、新規ルール名は「Ｔｅｓｔ」で終わり得る。述べたように、異なる段階で異なるアクティビティがルールに対して実行中である。「Ｄｅｖ」段階にある場合、開発者による変更中であると見なすことができる。「Ｔｅｓｔ」段階にある場合、ルール又はルールセットは一般に、適切な挙動についてチェック中であり、通常、変更されないままである。「Ｐｒｏｄ」段階では、ルールセットは、例えば、その意図される目的で使用中であり、通常、変更されない。ルールセットが「Ｄｅｖ」から「Ｔｅｓｔ」に昇格するとすぐに、開発者は新しい変更を開始し得るため、異なる段階及びバージョンが必要であり得る。新規名称に基づいて、スクリプト２１０は、ルールセット内に記憶されたいくらかの情報を更新する必要があり得る。幾つかの例では、ルールセットは、コードファイルの名称についての情報（例えば、図１１Ａにおけるグラフの変換式４１２）を含む。幾つかの例では、このコードファイルはルールセット後に名付けられる。したがって、ルールセットが新しい名称で生成される場合、生成されたファイルの名称も更新される。続けて、新規ルールを含む（及び実行された動作の結果を見ることが可能である）ように更新されたプロジェクト内のルールセットのリストにユーザをリダイレクトし得る。例えば、これらの任意の動作がルールセットに対して実行される場合、ユーザは新規ルール又は変更されたルールのブラウザページに運ばれる。
【０２９３】
実施例４：オブジェクト作成ウィザード
図１３を参照すると、例えば、ユーザ対話に基づいて１つ又は複数のオブジェクトを生成する追加の演算を実施し得る。一構成では、１つ又は複数のオブジェクトを生成するために、一連のステップを介してユーザから情報を集め得る。例えば、ユーザ対話（例えば、ユーザがボタンのグラフィカル表現をクリックする）は、一連のステップを通してユーザをガイドするウィザード（例えば、一連のダイアログ）又は別のタイプのＵＩ画面シーケンスを開始し得る。シーケンスを通して進みながら、例えば、１つ又は複数のオブジェクトの生成に使用される情報が、例えば、ユーザから収集される。収集された情報は、他の演算に使用することもでき、例えば、収集された情報は、１つ又は複数のオブジェクトに関連付けられた属性を表し得、１つ又は複数のオブジェクトの変更に使用し得る。
【０２９４】
図に示されるように、画面６００の一部は、例示を目的として、データセット（例えば、表）内にフィールド（例えば、列）を含む。この例では、データマスキングルール（例えば、難読化、非特定化等）が定義され、フィールドに関連付けられたデータに対して動作し得る。プロセスを開始するために、ボタン６０２のグラフィカル表現（「マスキングルールを追加」と記される）はユーザにより選択される（マウス等のポインティングデイトの相互作用を通して）。選択されると、一連の画面を含むウィザードが実行される。例えば、第１のウィザード画面６０４の一部をまず提示して、ユーザ提供情報を収集し得る。この特定の例では、ウィザード画面６０４は２つのラジオボタンを提示し、生成するマスキングルールのタイプを選択するようにユーザに促し得る。選択がなされると、ユーザはボタン６０６（「次へ」と記される）を選択して、次のウィザード画面に移行し得る。ウィザードを終了するには、ユーザは別のボタン６０８（「キャンセル」と記される）を選択し得る。次に、この状況では、別のウィザード画面が提示される（画面６１０の一部により提供されるように）。この特定の画面６１０では、新規ルールを作成するか、それとも既存のルールに追加するかをユーザが選択するために、２つのラジオボタンが提示される。ユーザにより提供された選択に基づいて、ウィザードは、どの特定のパス（例えば、一連の画面）を辿るか判断し得る。したがって、ウィザードは、様々なユーザ指示状況での複数の分岐パス（例えば、ツリー構造）を含み得る。画面６０４と同様に、ユーザは、ボタン６１２（「次へ」と記される）を選択することによりウィザードを先に進むことを選択し、ボタン６１４（「戻る」と記される）を選択することにより１画面戻り、又はボタン６１６（「キャンセル」と記される）を選択することによりウィザードを中止し得る。選択がなされると、ウィザードは適切な動作を実行する。
【０２９５】
図１４を参照すると、ウィザードにより提供される画面７００の別の部分は、オブジェクトのリストから選択して、マスキングルールを定義するようにユーザに促す。選択のために、この例では、関数のリストがメニュー（例えば、ドロップダウンメニュー）で提供される。選択された関数のそれぞれは、格納し得る（例えば、リポジトリ１２４に）１つ又は複数のオブジェクトに関連付け得る。この例では、１つ又は複数のマスキング関数（例えば、Ｈａｓｈ  Ｃｅｎｓｕｓ  １）が、記憶されたオブジェクトに関連付けられている。マスキング選択にメニューを使用するのと併せて、ユーザは、ボタン（ボタン６１２、６１４、及び６１６と同様）を使用してウィザードを経て進む指示を制御することができる。この例では、ボタン７０２（「次へ」と記される）が選択され、ユーザ選択のまとめを提供する画面７０４に進む。この例では、「ｐｒｅｆｅｒｒｅｄ」という名称のフィールド（画面６００に示されるように）には、関数「Ｈａｓｈ  Ｃｅｎｓｕｓ  １」が割り当てられる。この情報をレビューし、ボタン７０６（「終わり」と記される）を選択すると、新規オブジェクト（又は新規の複数のオブジェクト）が生成され、例えば、オブジェクト（又は複数のオブジェクト）にナビゲートするための１つ又は複数のグラフィカル表現を生成し得る。例えば、図１４の画面６００に少し戻ると、新たに生成されたオブジェクトへのリンクは、グラフィカルボタン６０２で置換し得、選択されると、リンクはユーザを新規オブジェクトに導き得る。一構成では、画面７０８をユーザに提示して、生成されたオブジェクトに関連付けられた情報及びパラメータを見ることができる。このウィザード例はオブジェクト（又は複数のオブジェクト）の生成を実証したが、同様のウィザードにより他の演算を提供することもできる。例えば、オブジェクト調整（例えば、関数割り当て等）、オブジェクト削除、及び他の同様の演算を実行し得る。
【０２９６】
実施例５：編集レンダラー
図１５を参照すると、１つ又は複数のオブジェクトが作成されると、データ交換に関連付けられた演算等の他の演算を実行し得る。一構成では、レンダリングされた要素の機能は、編集機能を含むように拡張し得る。例えば、スクリプト、プログラム、又は他のタイプの命令の集まりを実行して、別のプログラム（例えば、専用エディタ）に関連付け得るオブジェクトを生成し得る。オブジェクトに関連付けられたエディタを導入することにより、編集機能を拡張することができる（例えば、制約付きのメタデータ編集、外部編集制御機構の始動等）。編集機能の強化と共に、オブジェクトに関連付けられたエディタは編集の柔軟性を上げ得る。
【０２９７】
図に示されるように、画面８００は編集画面の一部を含む。画面に含まれるフィールド８０２（「キー」と記される）は、編集レンダラーである制御機構を有する。この例では、値（例えば、数値、テキスト、関数等）は、直接には入力又は編集することができない。それに代えて、ユーザは、グラフィカルボタン８０４を選択して、キーフィールドのオブジェクトに関連付けられたエディタを始動し得る。この構成では、画面８０６は、キーフィールドに関連付けられ、ユーザ選択情報をフィールドに関連付けられるようにする例示的なエディタ８０８を提示する。この特定の構成では、エディタ８０８は、Flex（Adobe Systems，San Jose，California）等の複数のプラットフォームにリッチインターネットアプリケーション（例えば、ユーザインターフェース）を生成するソフトウェア開発製品を用いて実施される。この特定の例では、エディタ８０８は、１組の選択可能な記録８１０と、キーフィールド８０２のデータを識別するための選択ツール８１２とをユーザに提供する。選択されると、グラフィカルボタン８１４を選択して、前の画面８００に戻り得る（そして、選択されたデータを前の画面８００に提供し得る）。
【０２９８】
図１６を参照すると、画面９００は、キーフィールドにエディタ８０８からの情報（画面８０６に示される）が含まれた、画面８００の更新版を表す。特に、更新されたキーフィールド９０２は、エディタ８０８から選択された２つのフィールドを含む。したがって、２つのデータセットが画面９００に関連付けられるが、幾つかの例では、追加のデータセットが存在し得る。データセットの１つは、画面９００に関連付けられたオブジェクトから提供し得、例えば、プルダウンメニュー９０４を用いて選択され、画面９００にレンダリングされるダイアログ９０６に入力されたデータであり得る。第２のデータセットは、画面８０６に含まれる（及びキーフィールド８０２に関連付けられる）エディタ８０８により提供される。このデータは、例えば、１つ又は複数の技法を使用することにより別の画面に渡し得る。例えば、データセットは同様の形式に配置し得る。一構成では、データは、所定の形式又はフォーマットで一緒にバンドリングして、クエリ文字列（例えば、ＨＴＴＰクエリ文字列）で提出し得る。例えば、ユーザは、クエリ文字列へのデータのバンドリングを開始するグラフィカルボタン９０８（「変更を保存」と記される）を選択し得る。クエリ文字列にバンドリングされると、文字列は、追加の処理及び提示のために、１つ又は複数の画面、オブジェクト、又は他のロケーションに提供し得る。様々なタイプのエディタを実施することもでき、例えば、日時に関連付けられたエディタ、グラフィカルエディタ（例えば、三次元オブジェクトの様々な側面を見るため）、及び他のタイプのエディタが使用可能である。
【０２９９】
要素レンダラーの演算
図１７を参照すると、フローチャート１０００は、データリポジトリ（すなわち、ＥＭＥ１２４）に記憶されたデータオブジェクトを管理し、データオブジェクトに関連付けられた要素をグラフィカルユーザインターフェース（すなわち、ユーザインターフェースモジュール１０８）に表示するために、要素レンダラー（例えば、要素レンダラー２０４）及びスクリプト（例えば、スクリプト２１０）により実施される幾つかの演算を表す。
【０３００】
上述したように、ＥＭＥ１２４において十分に相互接続されたメタデータオブジェクトは、関係リンクにより参照し得る。複数のデータオブジェクト間の論理関係を実施し維持することに加えて、ＥＭＥ１２４はまた、ウェブブラウザベースのグラフィカルユーザインターフェース（例えば、インターフェース２０２）を使用して、特定のデータオブジェクトの詳細を表示する。特に、オブジェクト内の情報を自動的に使用して、１つ又は複数のデータオブジェクトへの対応する演算を呼び出し得る形式（例えば、ウェブ形式）を生成する（１００２）。これは通常、要素レンダラーにより実施され、ＥＭＥ１２４に存在する略全てのデータオブジェクトに適用可能である。データオブジェクトに関する様々なユーザインターフェース対話により表されるユーザ入力を受信すると（６０４）、スクリプト２１０は、ウェブ形式のユーザ入力データを翻訳して、データリポジトリ内に新規のデータオブジェクトを生成し得る（１００６）。単に入力データをコピーするのではなく、又は中間計算中に得られる一時変数を表すのではなく、この新規データオブジェクトは、ＥＭＥ１２４において存続し得るコンテンツを含む。続けて、新しいデータオブジェクトにＥＭＥ１２４における１つ又は複数の関連データオブジェクトをリンクすること（１００８）は、ユーザ演算が呼び出されたロケーションに基づいて自動的に実施し得る。上述したオブジェクトの生成及びリンクの結果として、ブラウザインターフェース２０２は、グラフィカルユーザインターフェースに表示するためにコンテンツを管理し、ユーザがインターフェースを通してＥＭＥ１２４における変更を見られるようにする。
【０３０１】
ビジネスタグ付け
幾つかの実施態様では、ルールセットは、タグを使用することにより管理することができ、タグは、対応するルールセットについての情報を含むデータオブジェクトである。ルールセットの管理に使用されるタグは、例えば、拡張可能マークアップ言語（ＸＭＬ）タグであることができるが、他のタイプのデータオブジェクトであることもできる。以下、タグを使用して、ビジネスルールを管理することについて説明するが、同じ原理は、タグを使用して、他のタイプのルールを管理することに適用することもできる。
【０３０２】
ルール仕様又はルールセットは、開発ライフサイクル又は承認プロセスの幾つかの段階を経得る。例えば、一例として開発ライフサイクルを参照すると、そのライフサイクルにおける異なるフェーズ又は段階は、開発、テスト、及び生産であり得る。例えば、一例として承認プロセスを参照すると、そのプロセスにおける異なるフェーズ又は段階は、オープン、提出済み（又はレビュー）、及び承認済み（又はリリース済み）であり得る。開発ライフサイクル又は承認プロセスの各段階は、「状態」とも呼ばれる。
【０３０３】
図１２に示されるように、ユーザインターフェースは、ルールセットの昇格若しくは降格又はルールセットの新しいメジャー若しくはマイナーバージョンの生成等のルールセットに基づいて実行することができる異なる動作を表すボタンを提供し得る。特定のボタンを表示すべきか否かは、ルールセットに関連付けられた１つ又は複数の許可に基づいて決定することができる。幾つかの実施態様では、許容可能な遷移は、本明細書では「タグ付け仕様」と呼ばれる遷移仕様により指定し得る。
【０３０４】
図１８を参照すると、一例として、タグ付け仕様１１５０は、ルールセットに関連付けられた状態「開発」、「テスト」、及び「生産」の許容可能な遷移を指定する。許容可能な遷移は、「開発」から「テスト」への遷移、「テスト」から「生産」への遷移、「テスト」から「開発」への遷移、及び「生産」から「テスト」への遷移を含む。タグを使用して、ルールセットに関連付けられた状態を記録する。例えば、ルールセットが「開発」状態から「テスト」状態に遷移すると言う場合、ルールセット自体は変わらず、むしろ、ルールセットに関連付けられた（又はルールセットをポイントする）タグが、「開発」状態から「テスト」状態に変わる。タグ付け仕様１１５０は、ルールセットに関連付けられたタグが「開発」状態である場合、ラベル「昇格」を有するボタンをユーザインターフェースに示すべきであることを示すコード１１５２を含む。ユーザが「昇格」ボタンと対話すると、ルールセットに関連付けられたタグは、「テスト」状態に遷移する。タグ付け仕様１１５０は、ルールセットが関連付けられたタグが「テスト」状態である場合、ラベル「昇格」を有する第１のボタン及びラベル「降格」を有する第２のボタンをユーザインターフェースに示すべきであることを指定するコード１１５４を含む。ユーザが「昇格」ボタンと対話すると、ルールセットに関連付けられたタグは、「昇格」状態に遷移し、ユーザが「降格」ボタンと対話すると、ルールセットに関連付けられたタグは、「開発」状態に遷移する。タグ付け仕様１１５０は、ルールセットに「昇格」状態が関連付けられている場合、それ以上の変更が許可されないことを指定するコード１１５６を含む。
【０３０５】
ルールセットに関連付けられたタグは、様々な可能な状態間で遷移するため、ルールセットに関連付けられた状態を追跡する情報を含む。したがって、ルールセットが異なる状態に関連付けられるように昇格又は降格される場合、タグの内容は、ルールセットに関連付けられた現在状態を反映するように更新される。
【０３０６】
幾つかの実施態様では、２つ以上のタイプのタグを使用して、ルールセットを管理することができる。例えば、１つのタイプのビジネスタグは、ビジネスユーザにより生成されたアプリケーション構成及びルールセットに使用される「オブジェクトタグ」であることができる。ビジネスユーザは、アプリケーション構成又はルールセットを公開する場合、オブジェクトタグを生成することができる。１つのタイプのビジネスタグは、開発者により生成された一般的なグラフ、アプリケーションテンプレート、記録フォーマットファイル、及びパッケージに使用される「技術タグ」であることができる。技術タグは、リリースに使用すべき一般的なグラフ、アプリケーションテンプレート、及び他のオブジェクトとのバージョンの識別に使用することができる。１つのタイプのビジネスタグは、ルールセット又は１つ若しくは複数のルールセットを使用するアプリケーションのリリースの内容を定義する技術タグ及びオブジェクトタグの識別に使用される「リリースタグ」であることができる。
【０３０７】
以下、ルールセットの様々なバージョン又はリリースを管理するリリースタグの使用について説明する。例えば、図１９Ａを参照すると、ユーザインターフェース１１００は、ビジネスルールセットの３つのバージョン又はリリース：「ＣＥＰ＿ｒｅｌｅａｓｅ＿Ｖ１．０」１１０２、「ＣＥＰ＿ｒｅｌｅａｓｅ＿Ｖ１．１」１１０４、及び「ＣＥＰ＿ｒｅｌｅａｓｅ＿Ｖ１．２」１１０６をポイントする３つのリリースタグの名称を表示する。各リリースタグ（ビジネスルールセットの特定のバージョンをポイントする）は、「承認済み」、「オープン」、又は「提出済み」等の関連付けられた状態１１０８を有する。この例では、リリースタグ「ＣＥＰ＿ｒｅｌｅａｓｅ＿Ｖ１．０」、「ＣＥＰ＿ｒｅｌｅａｓｅ＿Ｖ１．１」、及び「ＣＥＰ＿ｒｅｌｅａｓｅ＿Ｖ１．２」にはそれぞれ、状態「承認済み」、「オープン」、及び「オープン」が関連付けられている。ユーザがリリースタグの１つを選択すると、ユーザがリリースタグの状態を変更できるようにするボタンがユーザインターフェース１１００に表示される。例えば、ユーザが、「オープン」１１１０の状態を有するリリースタグ「ＣＥＰ＿ｒｅｌｅａｓｅ＿Ｖ１．２」を選択すると、ボタン「提出」１１１２が示される。
【０３０８】
この例では、ルールセットの各バージョン又はリリースには、ルールセットに関連付けられた状態についての情報を含むリリースタグが関連付けられる。タグ付け仕様は、レビュープロセスの様々な状態（又は段階）を定義する。タグオブジェクトは、ルールセットの特定のバージョンへのリンク及び任意選択でレビュー履歴を含む。例えば、レビュー履歴は、月曜日に特定の開発者がルールセットのタグを生成し、火曜日にマネージャがタグを拒絶し、水曜日に開発者がタグを再提出したことを示し得る。各ルールセットは様々な状態間を遷移する際、ルールセットに関連付けられたタグは、ルールセットに関連付けられた状態を追跡するように更新される。したがって、ルールセットが、異なる状態が関連付けられるように昇格又は降格する場合、そのルールセットをポイントするタグの内容は、現在状態及び任意選択でレビュー履歴を反映するように更新される。
【０３０９】
図１９Ｂを参照すると、ユーザがボタン「提出」１１１２（図１９Ａに示される）をクリックする場合、ユーザインターフェース１１１０はタグ「ＣＥＰ＿ｒｅｌｅａｓｅ＿Ｖ１．２」の状態を「提出済み」１１１４に更新し、「承認」ボタン１１１６及び「拒絶」ボタン１１１８を表示する。ユーザが「承認」ボタン１１１６をクリックする場合、タグ「ＣＥＰ＿ｒｅｌｅａｓｅ＿Ｖ１．２」は「承認済み」状態に遷移し、一方、ユーザが「拒絶」ボタン１１１８をクリックする場合、タグは「オープン」状態に遷移する。
【０３１０】
図１９Ｃを参照すると、図１９Ａ及び図１９Ｂに示される例では、状態間の許容可能な遷移は、「オープン」１２００から「提出済み」１２０２への遷移、「提出済み」１２０２から「オープン」１２００への遷移、及び「提出済み」１２０２から「承認済み」１２０４への遷移を含む。どのボタン（例えば、「提出」１１１２、「承認」１１１６、及び／又は「拒絶」１１１８）が表示されるかは、ルールセットに関連付けられた現在状態及びタグ付け仕様により指定された許容可能な遷移に依存する。
【０３１１】
例えば、図２０を参照すると、タグ付け仕様１１２０は、図１９Ａ及び図１９Ｂに示される等の状態間のタグの許容可能な遷移を指定する。タグ付け仕様１１２０は、タグが「オープン」状態１１２４である場合、ラベル「提出」を有するボタン１１２６をユーザインターフェースに表示すべきであることを指定するコード１１２２を含む。ユーザが「提出」ボタン１１２６と対話すると、タグは標的状態「提出済み」１１２８に遷移する。タグ付け仕様１１２０は、タグが「提出済み」状態１１３２である場合、ラベル「承認」１１３４を有する第１のボタン及びラベル「拒絶」１１３６を有する第２のボタンをユーザインターフェースに表示すべきであることを指定するコード１１３０を含む。ユーザが「承認」ボタンと対話すると、タグは標的状態「承認済み」１１３８に遷移し、ユーザが「拒絶」ボタンと対話すると、タグは標的状態「オープン」１１４０に遷移する。タグ付け仕様１１２０は、状態「承認済み」１１４４の場合、ボタンは表示されないことを指定するコード１１４２を含み、タグが、タグに関連付けられたルールセットが完成し承認されたことを示す「承認済み」状態になると、それ以上の遷移が実行されないことを示す。
【０３１２】
幾つかの実施態様では、タグ付け仕様は任意選択で、動作（例えば、ルールセットに承認済み状態が関連付けられるようにタグを承認する動作）の前又は後に呼び出されるスクリプトを含む。例えば、「状態前遷移スクリプト」は、スクリプトが、動作をキャンセルすることができる状況を含まない、動作前に呼び出されるスクリプトを指す。例えば、事前状態遷移スクリプトは、検証エラーがある場合、タグの承認を失敗させようとすることができる。
【０３１３】
幾つかの実施態様では、ルールセットの開発、テスト、及びリリースを管理する企業は、ルールセットは開発ライフサイクル又は承認プロセスにおいて様々な段階を遷移するため、各段階で権限を有する特定のスタッフによりルールセットを扱う必要があることを要求し得る。この例では、各段階は企業の従業員の特定の役割に対応し得る。状態が、遷移を可能にする権限を有するスタッフメンバを指定することもできることを定義するタグ付け仕様。図１８に示される例では、タグ付け仕様１１５０は、どのスタッフメンバが段階間の様々な遷移を可能にする権限を有するかを指定するコード１１５８ａ、１１５８ｂ、及び１１５８ｃを含む。例えば、コード１１５８ａは、「開発」から「テスト」への遷移を可能にする権限を有するスタッフメンバが「ｒｏｌｅｎａｍｅ＿ｌｉｓｔ１」に列挙されることを指定する。コード１１５８ｂは、「テスト」から「生産」への遷移を可能にする権限を有するスタッフメンバが「ｒｏｌｅｎａｍｅ＿ｌｉｓｔ２」に列挙されることを指定する。コード１１５８ｃは、「テスト」から「開発」への遷移を可能にする権限を有するスタッフメンバが「ｒｏｌｅｎａｍｅ＿ｌｉｓｔ３」に列挙されることを指定する。
【０３１４】
例えば、図２１を参照すると、ルールセット承認プロセス１１６０は、開発フェーズ１１６２、レビューフェーズ１１６４、及びリリース済みフェーズ１１６６を含む。開発フェーズ１１６２では、ルールセットには第１の状態１１６８が関連付けられている。レビューフェーズ１１０４では、ルールセットには２つの状態：第２の状態１１７０及び第３の状態１１７２の１つを関連付けることができる。リリース済みフェーズ１１６６では、ルールセットには最後の状態１１７４が関連付けられている。例えば、第１の状態は「オープン」状態であることができ、第２の状態は「レビュー１」段階であることができ、第３の状態は「レビュー２」状態であることができ、最後の状態は「リリース済み」状態であることができる。ルールセットに関連付けられたタグは、ルールセットに関連付けられた状態を追跡する。タグは様々な段階を遷移し、承認プロセスにおいて様々な段階を経るルールセットを表す。
【０３１５】
ルールセットに関連付けられたタグが第１の状態１１６８である場合、開発者１１７６は、ルールセットを生成、変更し、タグが第２の状態１１７０に遷移する（１１７８）するようにルールセットを昇格（又は提出）することができる。タグが第２の状態１１７０である場合、ルールセットはマネージャ１１８０によりレビューされ、開発者１１７６はルールセット又はタグの状態を変更することができない。ルールセットに関連付けられたタグは、ルールセットのレビュー履歴についての情報を含み得る。マネージャ１１８０は、タグが第３の状態１１７２に遷移する（１１８２）ようにルールセットを昇格（若しくは承認）するか、又はタグが元の第１の状態１１６８に遷移する（１１８４）ようにルールセットを降格（又は拒絶）することができる。タグが元の第１の状態１１６８に遷移する（１１８４）場合、開発者１１７６は、ルールセットを更に変更し、ルールセットを将来のレビューに向けて昇格させることができる。
【０３１６】
ルールセットに関連付けられたタグが第３の状態１１７２である場合、ルールセットはシニアマネージャ１１８６によりレビューされ、開発者１１７６及びマネージャ１１８０はルールセット又はタグの状態を変更することができない。シニアマネージャ１１８６は、タグが最後の状態１１７４に遷移する（１１８８）ようにルールセットを昇格（若しくは承認）するか、又はタグが元の第１の状態１１６８に遷移する（１１９０）ようにルールセットを降格（若しくは拒絶）することができる。タグが元の第１の状態１１６８に遷移する（１１９０）場合、開発者１１７６はルールセットを変更し、将来のレビューに向けてルールセットを昇格させることができる。タグが最後の状態１１７４である場合、タグの状態はもはや変更することができない。例えば、シニアマネージャ１１８６がルールセットを昇格させ、タグが最後の状態１１７４に遷移する場合、これは、ルールセットが顧客にリリース可能な状態であり、ルールセットに対してそれ以上の変更を行えないことを示し得る。
【０３１７】
幾つかの実施態様では、２つ以上のビジネスルールセットを一緒にパッケージして、「コンテナ」、「コレクション」、又は「リリース」にし、グループとして管理することができる。コンテナには、幾つかの状態の１つを関連付けることができ、コンテナ内の各ビジネスルールセットにも、コンテナの状態に関連するか、又はコンテナの状態から独立することができる状態を関連付けることができる。コンテナには、コンテナに関連付けられた状態についての情報を有するタグを関連付けることができる。
【０３１８】
例えば、ソフトウェア製品は幾つかのリリース又はバージョンを経ることができ、ソフトウェア製品の各リリースは複数のビジネスルールセットを含み得る。異なるリリースにはビジネスルールセットの異なる組合せを関連付け得る。「リリースタグ」又は「グループタグ」を使用して、ソフトウェア製品のリリースに関連するルールセットのグループについての情報を記憶し得る。ソフトウェア製品の異なるリリースには異なるリリースタグを関連付け得る。
【０３１９】
例えば、図２２を参照すると、ユーザインターフェース１１９０は、ルールセットのグループに関連付けられたリリースタグ「ＣＥＰ＿ｒｅｌｅａｓｅ＿Ｖ１．１」１１９２を示し、リリースタグ「ＣＥＰ＿ｒｅｌｅａｓｅ＿Ｖ１．１」１１９２は、「Ｉｎｖｅｓｔｉｇａｔｅ＿Ｃｕｓｔｏｍｅｒ＿Ａｃｔｉｖｉｔｙ＿Ｖ１．１」、「Ｔｒａｎｓａｃｔｉｏｎ＿Ｃｌａｓｓｉｆｉｃａｔｉｏｎ＿Ｖ１．１」、「Ｒｅｖｉｅｗ＿Ｐｈｏｎｅ＿Ａｃｔｉｖｉｔｙ＿Ｖ１．１」、「Ｒｅｖｉｅｗ＿Ｐｏｓｔｅｄ＿Ｍｏｎｅｔａｒｙ＿Ａｃｔｉｖｉｔｙ＿Ｖ１．１」、「Ｒｅｖｉｅｗ＿Ｗｅｂ＿Ａｃｔｉｖｉｔｙ＿Ｖ１．０」、及び「Ｒｅｖｉｅｗ＿Ｎｏｎ＿Ｍｏｎｅｔａｒｙ＿Ａｃｔｉｖｉｔｙ＿Ｖ１．０」等のオブジェクトタグのグループ１１９４についての情報を含む。オブジェクトタグ１１９４のそれぞれは、対応するルールセットをポイントする。リリースタグ「ＣＥＰ＿ｒｅｌｅａｓｅ＿Ｖ１．１」１１９２には状態「オープン」１１９６が関連付けられている。リリースタグ「ＣＥＰ＿ｒｅｌｅａｓｅ＿Ｖ１．１」１１９２は、ルールセットのグループに関連付けられた現在状態についての情報を含む。「Ｉｎｖｅｓｔｉｇａｔｅ＿Ｃｕｓｔｏｍｅｒ＿Ａｃｔｉｖｉｔｙ＿Ｖ１．１」、「Ｔｒａｎｓａｃｔｉｏｎ＿Ｃｌａｓｓｉｆｉｃａｔｉｏｎ＿Ｖ１．１」、「Ｒｅｖｉｅｗ＿Ｐｈｏｎｅ＿ａｃｔｉｖｉｔｙ＿Ｖ１．１」、「Ｒｅｖｉｅｗ＿Ｐｏｓｔｅｄ＿Ｍｏｎｅｔａｒｙ＿Ａｃｔｉｖｉｔｙ＿Ｖ１．１」、「Ｒｅｖｉｅｗ＿Ｗｅｂ＿Ａｃｔｉｖｉｔｙ＿Ｖ１．０」、及び「Ｒｅｖｉｅｗ＿Ｎｏｎ＿Ｍｏｎｅｔａｒｙ＿Ａｃｔｉｖｉｔｙ＿Ｖ１．０」等のルールセットに関連付けられたオブジェクトタグ１１９４にはそれぞれ、状態１１９８「提出済み」、「提出済み」、「提出済み」、「提出済み」、「承認済み」、及び「承認済み」が関連付けられている。オブジェクトタグ「Ｉｎｖｅｓｔｉｇａｔｅ＿Ｃｕｓｔｏｍｅｒ＿Ａｃｔｉｖｉｔｙ＿Ｖ１．１」、「Ｔｒａｎｓａｃｔｉｏｎ＿Ｃｌａｓｓｉｆｉｃａｔｉｏｎ＿Ｖ１．１」、「Ｒｅｖｉｅｗ＿Ｐｈｏｎｅ＿ａｃｔｉｖｉｔｙ＿Ｖ１．１」、「Ｒｅｖｉｅｗ＿Ｐｏｓｔｅｄ＿Ｍｏｎｅｔａｒｙ＿Ａｃｔｉｖｉｔｙ＿Ｖ１．１」、「Ｒｅｖｉｅｗ＿Ｗｅｂ＿Ａｃｔｉｖｉｔｙ＿Ｖ１．０」、及び「Ｒｅｖｉｅｗ＿Ｎｏｎ＿Ｍｏｎｅｔａｒｙ＿Ａｃｔｉｖｉｔｙ＿Ｖ１．０」のそれぞれは、対応するルールセットに関連付けられた現在状態を追跡する。
【０３２０】
この例では、グループリリースタグ「ＣＥＰ＿ｒｅｌｅａｓｅ＿Ｖ１．１」１１９２に関連付けられた状態は、グループ内のルールセットに関連付けられた状態１１９８と異なる。幾つかの実施態様では、グループ内の個々のルールセットに関連付けられた状態は、グループに関連付けられた状態から独立している。したがって、リリースタグが様々な状態間で遷移する場合、個々のルールセットに関連付けられた状態は変わらない（ユーザがルールセットに関連付けられたオブジェクトタグの状態を特に変更しない限り）。例えば、グループリリースタグ「ＣＥＰ＿ｒｅｌｅａｓｅ＿Ｖ１．１」１１９２が「オープン」状態から「提出済み」状態に、「提出済み」状態から「承認済み」状態に、又は「提出済み」状態から「オープン」状態に遷移する場合、ルールセット１１９４に関連付けられた状態は同じままである。同様に、ルールセット１１９４の１つ又は複数に関連付けられた１つ又は複数のオブジェクトタグが状態を変更する場合、グループリリースタグ１１９２の状態は変わらない（ユーザがグループリリースタグ１１９２の状態を特に変更しない限り）。
【０３２１】
幾つかの実施態様では、グループ内のルールセットに関連付けられた状態は、グループに関連付けられた状態により影響される。例えば、タグ付け仕様は、グループにＮ個の状態（Ｎは２以上の正の整数）を関連付けることができ、グループ内の各ルールセットにＮ個の状態の１つを関連付けることができることを指定することができる。タグ付け仕様は、グループリリースタグが（ｉマイナス１）番目の状態からｉ番目の状態に昇格する場合、ｉ番目よりも後の状態を有するオブジェクトタグ（ルールセットに関連付けられた）はｉ番目の状態に降格され、一方、ｉ番目の状態よりも前の状態を有するオブジェクトタグは変わらないままであることを更に指定することができる。
【０３２２】
例えば、タグ付け仕様は、グループリリースタグが（ｉ−１）番目の状態からｉ番目の状態に昇格する場合、ｉ番目の状態よりも前の状態を有するオブジェクトタグ（ルールセットに関連付けられた）もｉ番目の状態に昇格され、一方、ｉ番目よりも後の状態を有するオブジェクトタグは変わらないままであることを指定することができる。
【０３２３】
例えば、タグ付け仕様は、グループリリースタグが（ｉ＋１）番目の状態からｉ番目の状態に降格する場合、ｉ番目の状態よりも後の状態を有するオブジェクトタグ（ルールセットに関連付けられた）もｉ番目の状態に降格され、一方、ｉ番目よりも前の状態を有するオブジェクトタグは変わらないままであることを指定することができる。
【０３２４】
例えば、タグ付け仕様は、グループリリースタグが（ｉ＋１）番目の状態からｉ番目の状態に降格する場合、ｉ番目の状態よりも前の状態を有するオブジェクトタグ（ルールセットに関連付けられた）もｉ番目の状態に昇格され、一方、ｉ番目よりも後の状態を有するオブジェクトタグは変わらないままであることを指定することができる。
【０３２５】
グループリリースタグ１１９２に関連付けることが可能な状態は、オブジェクトタグ１１９４（ルールセットに関連付けられた）に関連付けることが可能な状態と異なることができる。例えば、タグ付け仕様は、グループリリースタグ１１９２に「オープン」、「レビュー１」、「レビュー２」、又は「リリース済み」状態の１つを関連付けることができ、一方、各オブジェクトタグ１１９４には、「オープン」、「提出済み」、又は「承認済み」状態の１つを関連付けることができることを指定し得る。
【０３２６】
タグは、データオブジェクトであり、ルールセットの開発又は承認に関連付けられた様々なタイプの情報を含むことができる。タグは、図１における共通ログデータオブジェクト１１６の機能を提供することができる。様々なタイプの情報は、例えば、どの動作（例えば、昇格、降格、提出、承認、又は拒絶）がルールセットに対して実行されたか、誰が動作を実行したか、及び動作がいつ実行されたかを含むことができる。タグは、ルールセットを開発、テスト、レビュー、及び／又は承認した人々によるコメント又は備考を含むこともできる。このように、ルールセットの開発ライフサイクル又は承認プロセスの各段階において、ルールセットに従事する人は、ルールセットに対して前に行われた作業についての有用な情報を有することができ、対処する必要がある問題に素早くフォーカスできるようにする。何かが上手くいかない場合、ユーザはレビュー履歴を見て、何が間違ったか、どこで誤りが発生したかを特定しようとし、是正動作をとり、将来、そのタイプの問題を回避することができる。
【０３２７】
図２３Ａ及び図２３Ｂは、ログが、実行された演算、演算を実行したユーザ、ユーザによるコメント、及び演算が実行された日時についての情報を含む、ビジネスタグに関連付けられたアクティビティログの例のスクリーンショット１２１０及び１２２０を示す。
【０３２８】
統合アプリケーション開発システム
以下、統合アプリケーション開発システム１００をより詳細に説明する。図１を再び参照すると、アプリケーション開発システム１００は、ドキュメントエディタ１０２、ビジネスプロセス管理ツール１０４、ソースコード制御ツール１０６、アプリケーションシミュレータ１０８、データのリポジトリ１１０、及び統合ユーザインターフェース１１２を含む。ドキュメントディタ１０２は、ユーザがビジネスルールを見て編集できるようにし、限定ではなく、図１２〜図１６、図１９Ａ、図１９Ｂ、図２２、図２３Ａ、及び図２３Ｂに示される機能を含む機能を提供し得る。
【０３２９】
ユーザは、ドキュメントエディタ１０２を使用して、ルールケースに対応する行を有するスプレッドシートのエントリを変更し得る。ドキュメントエディタ１０２は、ルールのトリガー基準の編集に使用することができる。ドキュメントエディタ１０２は、ルールの状態を管理するビジネスプロセス管理ツール１０４にリンクされる。例えば、ドキュメントエディタ１０２は統合ユーザインターフェース１１２と組み合わせて、ルールの開発ライフサイクル中、ユーザがルールを昇格又は降格し、リリースに向けてルールを承認できるようにする。ユーザがルールを昇格、降格、又は承認することに応答して、ビジネスプロセス管理ツール１０４は、上述したタグを使用してルールの状態を追跡する。ルールに関連付けられたルール仕様に基づいて、ビジネスプロセス管理ツール１０４は、状態のどの遷移が可能であるかを判断し、ドキュメントエディタ１０２と通信し、それにより、エディタ１０２は統合ユーザインターフェースを制御して、ユーザがルールの状態を変更できるようにする適切なアイテム（例えば、「提出」、「承認」、「拒絶」、「昇格」、及び／又は「降格」ボタン）をユーザインターフェースに表示することができる。
【０３３０】
ユーザは幾つかのルールを開発し得、各ルールは幾つかのバージョンを有し得る。例えば、ルールの異なるバージョンは異なるトリガー基準を有し得る。図２４は、ユーザが開発中の幾つかのルールを示す、ドキュメントエディタ１０２により提供された例示的なユーザインターフェースを示す。この例では、ユーザは、「Ｃａｓｈ＿Ｂａｃｋ＿Ｎｏｔｉｆｉｃａｔｉｏｎｓ」ルール、「Ｒｅｖｉｅｗ＿Ｎｏｎ＿Ｍｏｎｅｔａｒｙ＿Ａｃｔｉｏｎｓ」ルール、「Ｒｅｖｉｅｗ＿Ｐｈｏｎｅ＿Ａｃｔｉｖｉｔｙ」ルール、「Ｒｅｖｉｅｗ＿Ｐｏｓｔｅｄ＿Ｍｏｎｅｔａｒｙ＿Ａｃｔｉｖｉｔｙ」ルール、「Ｒｅｖｉｅｗ＿Ｗｅｂ＿Ａｃｔｉｖｉｔｙ」ルール、及び「Ｔｒａｎｓａｃｔｉｏｎ＿Ｃｌａｓｓｉｆｉｃａｔｉｏｎ」ルール等のルールに取り組んでいる。ユーザは「Ｒｅｖｉｅｗ＿Ｐｏｓｔｅｄ＿Ｍｏｎｅｔａｒｙ＿Ａｃｔｉｖｉｔｙ」ルール１２４２を選択し、ドキュメントエディタ１０２は、ルール１２４２の様々なバージョンについての情報１２４４を示す。この例では、ルールのバージョン１．０及び１．２は承認されており、ルールのバージョン１．１及び１．３は提出されており、ルールのバージョン１．４はオープンである。ルールのバージョン１．０はＣＥＰ（作業空間の名称）リリースバージョン１．０で使用され、ルールのバージョン１．１はＣＥＰリリースバージョン１．１で使用され、ルールのバージョン１．３はＣＥＰリリースバージョン１．２で使用される。
【０３３１】
ドキュメントエディタ１０２はソースコード制御ツール１０６にリンクされ、それにより、ルールのバージョンがリリースに向けて承認された場合、ルールのバージョンはソースコード制御ツール１０６により記憶され、ソースコード制御ツール１０６は、ルールの様々なバージョンのマスタリポジトリを保持する。続けて、ユーザは、ルールの特定のバージョンの編集を意図する場合、ルールを変更する許可を要求することができ、ソースコード制御ツール１０６は、ユーザがルールを借り出し、ルールを編集できるようにし、ルールが返却されるまで、他者によるルールの編集を阻止する。ソースコード制御ツール１０６はまた、ルールに変更を行ったユーザ及びルールに行われた変更が何であるかの記録も保持する。
【０３３２】
図２５を参照すると、幾つかの実施態様では、ドキュメントエディタ１０２は、ルールの異なるバージョンを比較するルールセット相違リポート１２５０を生成し、バージョン間の相違についての情報を提供することができる。この例では、ユーザは、「Ｒｅｖｉｅｗ＿Ｐｏｓｔｅｄ＿Ｍｏｎｅｔａｒｙ＿Ａｃｔｉｖｉｔｙ」ルールのバージョン６１と１２８とを比較し、ドキュメントエディタ１０２はバージョン間の相違のリスト１２５２を提供する。
【０３３３】
ビジネスタグ付け手法の特徴は、ユーザが様々なルールの異なるバージョンを選別して、アプリケーションと併用するルールセットコンテナ又はパッケージを組み立て、組み立てられたルールセットコンテナを使用してアプリケーションの実行をシミュレートし得ることである。例えば、クレジットカード企業の開発者は、アプリケーション開発システム１００を使用して、クレジットカード処理アプリケーションのルールを開発し得る。アプリケーションは、クレジットカード申し込みを承認すべきか否かを判断する「クレジットカード承認」ルール、クレジットカード顧客に与えるリワードを決める「クレジットカードリワード」ルール、及び特定のクレジットカード取引が不正である確率を評価する「不正検出」ルールを使用し得る。例えば、開発者は、「クレジットカード承認」ルールのバージョン１．０、１．１、１．２、及び１．３、「クレジットカードリワード」ルールのバージョン１．０、１．１、１．２、１．３、１．４、２．０、及び２．１、並びに「不正検出」ルールのバージョン１．０、１．１、２．０、２．１、３．０、及び３．１を開発した。
【０３３４】
例えば、開発者は、「クレジットカード承認」ルールのバージョン１．１、「クレジットカードリワード」ルールのバージョン２．１、及び「不正検出」ルールのバージョン３．０を使用してクレジットカード処理アプリケーションの実行をシミュレートすると決定し得る。ドキュメントエディタ１０２は、ユーザが特定のルールを選択し、選択された各ルールの特定のバージョンを一緒にパッケージしてコンテナとし、ルールのコンテナをクレジットカード処理アプリケーションに関連付けられるようにするインターフェースを提供し得る。
【０３３５】
図１を再び参照すると、ドキュメントエディタ１０２はアプリケーションシミュレータ１０８にリンクされる。上記例を使用すると、ユーザがルルのコンテナをクレジットカード処理アプリケーションに関連付けた後、ドキュメントエディタ１０２は、ユーザがアプリケーションシミュレータ１０８を呼び出して、クレジットカード処理アプリケーションの実行をシミュレートするという選択肢を提供する。幾つかの実施態様では、アプリケーションは、データフローを表す要素をリンクすることにより接続されたデータ処理構成要素を有するグラフベースの計算である。アプリケーションシミュレータ１０８は、コンテナ内のルールを変換式に変換し、変換式をグラフベースの計算内の構成要素に関連付け、グラフベースの計算を実行し、実行の出力結果を表示する。
【０３３６】
ユーザは、シミュレーションの出力を調べて、ルールの更なる変更が必要であるか否かを判断し得る。例えば、アプリケーションがテストデータセットにおいて多くの不正取引の検出に失敗したとユーザが判断する場合、ユーザはドキュメントエディタ１０２を使用して、現在、アプリケーションに関連付けられている「不正検出」ルールのバージョン３．０の状態を変更し、及び／又はバージョン３．０を編集し得る。「不正検出」ルールのバージョン３．０が現在、「テスト」状態であると考える。ユーザは、ルールのバージョン３．０を「開発」状態に降格し得、ルールに更なる改訂が必要なことを示す。ユーザは、「不正検出」ルールのバージョン２．１をクレジットカード処理アプリケーションに関連付けられたルールのコンテナに包含するものとして選択し、シミュレーションを再び実行し得る。ユーザは、「クレジットカード承認」ルールのバージョン１．１、「クレジットカードリワード」ルールのバージョン２．１、及び「不正検出」ルールのバージョン２．１が一緒に適宜機能することに満足した場合、例えば、リリースバージョン１．０としてリリースに向けてコンテナを承認し得る。
【０３３７】
ユーザは、「不正検出」ルールのバージョン３．０の編集を終えた後、ルールの状態を「テスト」に昇格し、ルールのこのバージョンをコンテナに包含し、アプリケーションのシミュレーションを実行し得る。ユーザは、「クレジットカード承認」ルールのバージョン１．１、「クレジットカードリワード」ルールのバージョン２．１、及び「不正検出」ルールのバージョン３．０が一緒に適宜機能すると判断する場合、例えば、リリースバージョン１．１としてリリースに向けてコンテナを承認し得る。
【０３３８】
アプリケーション開発システム１００の利点は、ユーザが統一された様式でルールを編集し、開発ライフサイクル及びルールのバージョニングを管理し、ルールを使用してアプリケーションのシミュレーションを実行できるようにする統合ユーザインターフェースを提供することである。ルールに関連付けられたタグ及び他の情報には、システム１００内の様々なツールからアクセス可能である。例えば、ユーザがドキュメントエディタ１０２を使用して、特定のルール及びルールの特定のバージョンをコンテナ用に選択する場合、選択されたルールについての情報はアプリケーションシミュレータ１０８に提供することができ、アプリケーションシミュレータ１０８は、ルールの選択されたバージョンをロードし、それらのルールに基づいて変換式を生成する。
【０３３９】
例えば、アプリケーションシミュレータ１０８により生成されたシミュレーション出力データセットは、ドキュメントエディタ１０２に提供することができ、ドキュメントエディタ１０２は、出力データセットと一緒にルールを表示することができる。ドキュメントエディタ１０２は、ユーザが出力データセット内の１つ又は複数の値を選択できるようにするインターフェースを提供し得、インターフェースは、選択された出力値の生成をトリガーしたルールのポインタを強調表示し得る。出力値が意図されるものと異なる場合、ユーザはルールの強調表示された部分をレビューして、更なる改訂が必要か否かを判断することができる。ユーザは、ルールを変更し、シミュレーションを再び実行し、更新された出力値が意図されるものと同じであるか否かを調べ、必要に応じてルールを更に改訂することができる。
【０３４０】
アプリケーション開発システム１００は、コンピュータプログラミングに専門知識を有さないことがある事業者がルールを編集し、ルールを使用してアプリケーションプログラムを実行し、出力が意図されるものと同じであるか否かを判断し、必要に応じてルールを更に編集できるようにする。例えば、クレジットカード会社で働いている金融アナリストは、金融の知識は有し得るが、クレジットカード申し込みを処理するルール、クレジットカードリワードを決定ルール、及び不正クレジットカード取引を検出するルールを実施するコンピュータコードの書き方を知らないことがある。アプリケーション開発システム１００を使用して、金融アナリストは、スプレッドシート中の値及び公式を改訂することができ（多くの金融アナリストが精通している）、それらの値及び公式に基づいて指定されたルールは、実行に向けてアプリケーションシミュレート１０８によりアプリケーションプログラムに挿入されるコードに変換することができる。
【０３４１】
幾つかの実施態様では、アプリケーション開発システム１００は、以下の図２６〜図２９におけるプロセス１２６０、１３５０、１３６０、及び１３７０等のマーケティング又はビジネスキャンペーンで使用されるビジネスルールを開発するステップを促進する。プロセス１２６０、１３５０、１３６０、及び１３７０は単なる例である。異なる企業は、ビジネスルールを開発するために、異なるプロセス及び一緒に働く異なる数のチームメンバを有し得る。例えば、ある企業は１つのマーカ及び１つのチェッカーを使用して、ビジネスルールを書いてレビューし、リスクを評価し得る。例えば、別の企業は、３つ以上のチェッカーを有して、追加のレベルのレビューを提供し得る。
【０３４２】
幾つかの実施態様では、アプリケーション開発システム１００は、ユーザが、様々なアプリケーションを促進するビジネスルールを好都合に開発できるようにする。例えば、金融機関（例えば、銀行、クレジットカード企業、又は投資ファーム）は、新しい製品又はプロモーションを顧客又は見込み客にオファーするキャンペーンを有し得る。第１の製品オファーでは、金融機関は、要件を満たした顧客に新しい住宅担保ローンをオファーし得る。第２の製品オファーでは、金融機関は、様々なリワードプログラムを有する新しいクレジットカードをオファーし得る。これらのキャンペーン製品のオファーは、ＡＴＭ機に示される広告、電子メール若しくはテキストメッセージで送信される広告、ウェブサイトに提示される広告、又は郵便により送られる広告に現れ得る。異なる顧客には、オファーの詳細は異なり得る。
【０３４３】
例えば、顧客は、ウェブブラウザを使用して金融機関のオンライン口座にアクセスする場合、金融機関がオファーする様々なサービスを示すウェルカムウェブページで迎えられ得る。ウェブページはまた、顧客に合わせられた１つ又は複数のプロモーションオファーを表示することもある。ウェブページは、金融機関のコンピュータサーバにより生成され得る。顧客がオンライン口座にログインすると、金融機関におけるコンピュータサーバは、例えば、顧客に関連付けられた金融情報及び他の情報に基づいて顧客にオファーするプロモーションを決定する。
【０３４４】
例えば、顧客が住宅モーゲージを有する場合、コンピュータサーバは、顧客が住宅担保ローンに興味があり得ると判断し得る。コンピュータサーバが顧客に示されるウェブページを生成する際、第１のキャンペーン製品からのプロモーションオファーをウェブページに挿入し得る。例えば、オファーは、金利の低い新しい住宅担保ローンを提供し得る。例えば、顧客がクレジットカードを有さないか、又は高信用スコアを有する場合、コンピュータサーバは、顧客が新しいクレジットカードに興味を有し得ると判断し得る。コンピュータサーバが顧客に示すウェブページを生成する際、第２のキャンペーン製品からのプロモーションオファーをウェブページに挿入し得、ウェブページにおいて、オファーは、多めのキャッシュバックリワードをオファーする新しいクレジットカードプログラムについての情報を提供し得る。
【０３４５】
所与のキャンペーンで、異なるオファーを異なる顧客に提供し得る。例えば、第１のキャンペーン製品では、高信用スコアを有するとともに、普通預金口座と当座預金口座とを合わせた残高が高い第１の顧客に金利３．５％の新しい住宅担保ローンをオファーし得、高信用スコアを有するとともに、普通預金口座と当座預金口座とを合わせた残高が低い第２の顧客に金利４％の新しい住宅担保ローンをオファーし得、中程度の信用スコアを有する第３の顧客に金利４．５％の新しい住宅担保ローンをオファーし得る。
【０３４６】
第２のキャンペーン製品では、所得水準が高い第４の顧客に、年会費及びわずかに高いリワードを有する第１のタイプのクレジットカードをオファーし得、所得水準が中程度である第５の顧客に、年会費がなく、リワードがわずかに低い第２のタイプのクレジットカードをオファーし得、リワードポイントが低い旅行用クレジットカードを既に有する第６の顧客に、食事及び旅行でのリワードポイントが高い第３のタイプのクレジットカードをオファーし得る。第１及び第２のキャンペーン製品は、信用スコアが非常に低い顧客又はクレジットカードの支払いが数ヶ月遅れている顧客にはいかなるプロモーションオファーも与えない。
【０３４７】
金融機関は数百人、数千人、又は数百万人の顧客を有し得、したがって、どのプロモーションをどの顧客にオファーするかの判断プロセスを部分的に自動化することは有用である。幾つかの実施態様では、米国特許第８．０６９，１２９号、米国特許第８，３８６，４０８号、米国特許第８，３８０，６５１号、米国特許第９，００２，７７０号、及び米国特許出願第１４／６７７，０６３号に記載されているものと同様のビジネスルールを使用して、顧客の金融データ及び他のデータを評価し、どのプロモーションオファーをどの顧客に提供すべきかを判断するプロセスを部分的に自動化することができる。例えば、１組のビジネスルールは、金融データを含む顧客の記録にルールを適用して、どのプロモーションオファーがどの顧客に提示されるかについての情報を含む出力を生成することができるようにオーサリングし得る。ビジネスルールは、グラフィック開発環境１０２においてグラフベースのアプリケーションに組み込まれ得、並列動作環境１０６は、ビジネスルールを組み込むグラフにより定義される論理及びリソースに対応する実行可能命令（例えば、コンピュータ命令）を生成し得る。
【０３４８】
各キャンペーンは、数日、数週間、又は数ヶ月にわたり実行し得る。金融機関は、２日ごと、２週間ごと、又は２ヶ月ごとに新しいキャンペーンを始動し得る。新しい各キャンペーンが始動する前、金融機関のスタッフメンバは、キャンペーンにより設定された新しい基準に従ってビジネスルールを変更し得る。幾つかの例では、キャンペーンの品質を保証するために、３つのグループのスタッフメンバがビジネスルールの変更及び検証に従事し得る。例えば、第１のグループのスタッフメンバは、「メーカー」と呼ばれ、データの結合、データセットの生成、解析の実行、ビジネスルールのオーサリング、シミュレーションの実行、及びデータのプロファイリング等のアクティビティを担当する。
【０３４９】
例えば、第２のグループのスタッフメンバは、「チェッカー」と呼ばれ、メーカーにより実行されたアクティビティがプロセス要件及び企業ポリシーと一貫することの検証等のアクティビティを担当する。例えば、チェッカーは、キャンペーン又はリスク目的が明確に識別され文書化されていることを検証し、ビジネスルールが個々に及びまとめてシミュレーションを実行することを検証し、シミュレーションのログをレビューして、結果が目的及びポリシーと一貫することを確認し、チェックポイントを完了し、ビジネスルールを承認する。
【０３５０】
例えば、第３のグループのスタッフメンバは、「マネージャ」と呼ばれ、チェッカーのコメント及び推奨のレビューを担当し、メーカーによるビジネスルールの生成及びチェッカーによるビジネスルールの検証についての監査証跡をレビューし、コントロール及び検証の適切性を査定し、全体プロセスにおける次のステップへの進行を承認又は拒絶する。
【０３５１】
任意の所与のキャンペーンにおいて、２つ以上のメーカー、２つ以上のチェッカー、及び２つ以上のマネージャがビジネスルールのオーサリング、チェック、及びレビューに関わり得る。ビジネスルールに誰が何の変更をいつ行ったかを追跡し、時間の経過に伴ってルールが変更される際、ビジネスルールの異なるバージョンの記録（例えば、ソースコード及び備考を含む）を保持することが有用である。良好な記録の保持は、デバッグ及びエラー原因の発見に役立つのみならず、特定の規制要件を満たすことにも役立ち得る。
【０３５２】
以下、キャンペーンのビジネスルールを生成する例示的なプロセスについて説明する。図２６を参照すると、流れ図１２６０は、キャンペーンのビジネスルールを生成するプロセスの高レベル全体像を表す。ステップ１２６２において、ビジネスルールの定義に必要なデータが準備される。例えば、どのデータソースを使用するか及びデータセットを結合、マージ、フィルタリング、集計、又は更に処理する必要があるか否かを判断し得る。ステップ１２６４において、各製品のキャンペーンが定義される。ルールは、金融機関のビジネス目的に関連する潜在的なオファーを定義するように書かれる。例えば、いつ何のプロモーションオファーをどの顧客に与えるべきかを判断する基準が、キャンペーンの各製品で定義される。ステップ１２６６において、キャンペーンの様々な製品のビジネスルールは重ねられ組み合わせられて、統合パッケージとなる。ステップ１２６８において、様々な製品を含むキャンペーン全体のビジネスルールが検証されシミュレートされる。ステップ１２６８において、異なる製品のビジネスルールが互いと矛盾しないことを保証する。キャンペーン全体のビジネスルールがシミュレートされ検証された後、ステップ１２７０において、キャンペーンは始動可能な状態になる。
【０３５３】
図２７を参照すると、幾つかの実施態様では、データ準備ステップ１２６２を実施するプロセス１３５０が提供される。プロセス１３５０は、例えば、マーケティングチームメーカー１２８０、マーケティングチームチェッカー１２８２、リスクチームメーカー１２８４、及びリスクチームチェッカー１２８６により実行される幾つかのステップを含み得る。この例では、ステップ１２８８において、マーケティングチームメーカー１２８０は、キャンペーンの実行に必要なデータのリストを構築し、ビジネスルールにより使用し得るマーケティングデータフィールド１２９０を選択する。ステップ１３１６において、リスクチームメーカー１２８４は、リスクモデルの実行に必要なデータのリストを構築し、ビジネスルール使用し得るリスクデータフィールド１３１８を選択する。ステップ１２９２において、システムは、マーケティングデータフィールド１２９０及びリスクデータフィールド１３１８のデータを結合に選択する。ステップ１２９４において、システムは、結合されたデータへのフィルタリング、集計、及び他の処理を実行する。ステップ１２９６において、システムは、個々のデータユニットに対してテストを実行する。データが許容可能ではない場合、プロセスはステップ１２９２にループバックして、結合に適切なデータを選択する。データが許容可能である場合、ステップ１２９８において、テストデータのプロファイルが生成され、データは承認に向けて提出される。ステップ１３０４において、準備されたデータ１３００及び準備されたデータプロファイル１３０２を含むデータセットは、ステップ１３０４において、承認に向けて提出される。ステップ１３０６において、マーケティングチームメーカー１２８０により承認に向けて提出されたデータセットにビジネスタグを関連付け得る。例えば、ビジネスタグは、データセットの状態、誰がデータセットを承認したか（例えば、マーケティングチームメーカー１２８０）、及びデータセットが提出についていつ承認されたかについての情報を含み得る。
【０３５４】
ステップ１３０８において、マーケティングチームチェッカー１２８２は、マーケティングチームメーカー１２８０により提出されたデータセットをレビューし、データセットが必要且つ十分なキャンペーンデータを含むか否かを判断する。データセットが必要且つ十分なキャンペーンデータを含まない場合、マーケティングチェッカー１２８２はデータをマーケティングチームメーカー１２８０に送り戻し、マーケティングチームメーカー１２８０はステップ１２９２を再び実行して、結合するデータを選択する。データセットが必要且つ十分なキャンペーンデータを含む場合、マーケティングチームチェッカー１２８２はデータセットを承認する。ステップ１３１０において、マーケティングチームチェッカー１２８２により承認に向けて提出されたデータセットにビジネスタグを関連付け得る。例えば、ビジネスタグは、データセットの状態、誰がデータセットを承認したか（例えば、マーケティングチームチェッカー１２８２）、及びデータセットがリスクチームチェッカー１２８６によるレビューに向けていつ承認されたかについての情報を含み得る。
【０３５５】
ステップ１３１４において、リスクチームチェッカー１２８６はデータセットをレビューして、必要且つ十分なリスクデータを含むか否かを判断する。データセットが必要且つ十分なリスクデータを含んでいない場合、リスクチームチェッカー１２８６は、データセットをマーケティングチームメーカー１２８０に送り戻し、マーケティングチームメーカー１２８０はステップ１２９２を再び実行して、結合するデータを選択する。データセットが必要且つ十分なリスクデータを含む場合、リスクチームチェッカー１２８６は、キャンペーンによる使用についてデータセットを承認する。ステップ１３１２において、リスクチームチェッカー１２８６により承認されたデータセットにビジネスタグを関連付け得る。例えば、ビジネスタグは、データセットの状態、誰がデータセットを承認したか（例えば、リスクチームチェッカー１２８６）、及びデータセットがキャンペーンによる使用にいつ承認されたかについての情報を含み得る。
【０３５６】
図２８を参照すると、幾つかの実施態様では、各キャンペーン製品１２６４をオーサリングし検証するステップを実施するプロセス１３６０が提供される。プロセス１３６０は、例えば、マーケティングチームメーカー１２８０、マーケティングチームチェッカー１２８２、リスクチームメーカー１２８４、及びリスクチームチェッカー１２８６により実行される幾つかのステップを含み得る。ステップ１３２０において、マーケティングチームメーカー１２８０は、キャンペーンの候補母集団を識別する。例えば、候補母集団は、特定の年齢範囲内であり、特定の範囲内の年収を有し、特定の地理的地域内で生活している顧客であり得る。ステップ１３２２において、マーケティングチームメーカー１２８０は、包含ルールをビジネスルールエンジン（ＢＲＥ）に書き込む。例えば、包含ルールは、ルールを含み得、どの顧客がプロモーションオファーに適格であるかを判断する。
【０３５７】
ステップ１３３８において、リスクチームメーカー１２８４は、製品オファーに関連付けられた閾値（例えば、ボリューム、エンティティ、及び最大）を定義する。例えば、ある閾値は、任意の日又は週で全ての適格顧客に与えられるリワードの総額が特定の金額を超えないことを指定し得る。別の閾値は、製品に適格な顧客の総数が特定の値を超えないことを指定し得る。ステップ１３４０において、リスクチームメーカー１２８４は、広範囲の記録に基づいて除外するリスクルールを書く。例えば、リスクルールは、特定の値未満の信用スコア又は特定の値を超えるクレジットカード負債を有する顧客が、プロモーションオファーに適格ではないことを指定し得る。
【０３５８】
ステップ１３４２において、リスクチームチェッカー１２８６はリスクルールを評価する。リスクルールが適切ではない場合、リスクルールはステップ１３４０に戻り、それにより、リスクチームメーカー１２８４はリスクルールを書き換えることができる。リスクルールが適切である場合、リスクチームチェッカー１２８６はリスクルールを承認する。
【０３５９】
ステップ１３２４において、包含ルールをリスクルールとマージして、完全なキャンペーンスコアを生成する。このステップにおいて、どの顧客がキャンペーン製品オファーに適格であるか及びどの顧客が高リスクであり、オファーに適格ではないかを判断するルールは一緒にマージされてルールセットとなる。ステップ１３２６において、シミュレーションを実行して、完全なルールセットをテストデータに適用して、シミュレーション結果１３３０を生成する。シミュレーション結果１３３０は、ビジネスルールからの出力と、ビジネスルールからの出力の処理に基づいて生成し得る検証についてのデータ（アーチファクトとも呼ばれる）とを含む。
【０３６０】
検証データは以下を含み得る。シミュレーションが実行される場合、ルールカバレッジリポートが生成される。リポートは、どのルールが何度発射したかを文書化する。これは、シミュレーションカバレッジが十分であることを保証するために、各ルールが少なくとも最小回数、実行されたことを保証する。十分に（又は全く）発射しないルールは、不十分なシミュレーションカバレッジ（不良な検証データ）又は不良なルール設計を示す。キャンペーンデータのデータプロファイルが生成される。これは、各製品キャンペーンデータセットについてのデータの統計学的分布についての情報を提供する。「何人の顧客が資格を満たしたか」、「何人の顧客が資格を満たさなかったか」、又は「無効な記録があったか」等の問いに答え、見込まれた結果と比較することができる。統計学的計算を実行して、統計データを生成する。このデータは、キャンペーンの資格を満たした母集団及び満たさなかった母集団に関する追加の情報を提供する。資格を満たす顧客の収入、資格を満たす顧客の信用スコア、資格を満たさない収入、資格を満たさない信用スコア等の項目の平均、メジアン、ランク、標準偏差、及び外れ値等の統計を見込まれた値と比較することができる。実際のデータ記録の無作為標本が手動レビューに選択される。標本データは、出力データで見られた値がマーケティング基準又はリスク基準に背かない「サニティチェック」を提供する。キャンペーンコスト及び全体インパクト推定を生成し得る。これは、見込まれるキャンペーン価値（上げられる収益）対即時コスト（例えば、クレジットステートメント等のプロモーション）対償却（異なる信用リスク遮断仮定を有する）及び全体純現在価値を包含する値を計算するために、設定された数のオファー応諾率（例えば、１％、３％、５％、１０％、及び２５％、…）に対して実行された一連のシミュレートされた費用対効果モデルを含み得る。これらは入力モデル仮定と比較される。
【０３６１】
ステップ１３２８において、シミュレーション結果にビジネスタグを関連付け得る。例えば、ビジネスタグは、誰がシミュレーションを実行したか、シミュレーションがいつ実行されたか、及びどのデータセットがシミュレーションの実行に使用されたかについての情報を提供し得る。
【０３６２】
シミュレーション結果１３３０は、ステップ１３３２におけるレビューのためにマーケティングチームチェッカー１２８２に提供される。ステップ１３３４において、シミュレーション結果が適切ではなく、見込まれる結果と一貫しないとマーケティングチームチェッカー１２８２が判断する場合、プロセス１３６０はステップ１３２０にループバックし、それにより、マーケティングチームメーカー１２８０は包含ルールを改訂することができる。ステップ１３３６において、マーケティングチームチェッカーは、シミュレーション結果が何故、キャンペーン目標を満たさないのか等の備考を書き得、備考は、ルールセットに関連付けられたビジネスタグの一部として記憶される。シミュレーション結果が適切であり、見込まれた結果と一貫する場合、マーケティングチームチェッカー１２８２は、リスクチームチェッカー１２８６によるレビューに向けてルールを承認する。ステップ１３４４において、リスクチームチェッカー１２８６は、マーケティングチームメーカー１２８０によりオーサリングされた包含ルールと、リスクチームメーカー１２８４によりオーサリングされたリスクルールとを含むルールセットをレビューする。リスクが高すぎるとリスクチームチェッカー１２８６が判断する場合、プロセスはステップ１３２０にループバックし、それにより、マーケティングチームメーカー１２８０は包含ルールを改訂することができる。ステップ１３４６において、リスクチームチェッカーは、シミュレーション結果が何故、高すぎるリスクを示すか等の備考を書き得、備考は、ルールセットに関連付けられたビジネスタグの一部として記憶される。リスクが許容可能であるとリスクチームチェッカー１２８６が判断する場合、ルールセットは承認され、プロセスは次のステップに移る。
【０３６３】
図２９を参照すると、幾つかの実施態様では、重複プロセス１２６６を実施するプロセス１３７０が提供される。プロセス１３７０は、マーケティングチームメーカー１２８０、マーケティングチームチェッカー１２８２、リスクチームチェッカー１２８６、及び抱き合わせ販売責任エグゼクティブ又はマネージャ１３７２により実行される幾つかのステップを含み得る。先に、図２８に示されるプロセス１３６０において、各製品のルールセットは評価され承認されている。プロセス１３７０の目標は、個々の製品のルールが、一緒に組み合わせられた場合、適宜機能し、いかなる矛盾も生み出さないことを検証することである。ステップ１３７２において、マーケティングチームメーカー１２８０は、重複ルールをビジネスルールエンジンに書き込む。例えば、ルールは、どの２つ以上の製品を同時にオファーし得るかの条件を指定し得る。ステップ１３７４において、全てのキャンペーン製品の完全なルールセットをテストデータに適用することによりシミュレーションが実行され、シミュレーション結果１３７６が生成される。シミュレーション結果１３７６は、ビジネスルールからの結果と、ビジネスルールからの結果の処理から生成し得る検証のためのデータ（アーチファクトとも呼ばれる）とを含み得る。
【０３６４】
シミュレーション結果１３７６内の検証データ（様々なキャンペーン製品にわたるビジネスルールのパッケージ全体の）は、シミュレーション結果１３３０内の検証データ（個々のキャンペーン製品のビジネスルールの）と同様であり、相違は、重複後、情報が集計ベース（各製品の分布を含む）及び製品毎ベース（製品毎ベースで生成されたものと同様で提供されることである。これにより、重複プロセスが実行される前及び後で価値が各製品から又は各製品にいかにシフトしたかの比較が可能になる。
【０３６５】
ステップ１３８２において、ビジネスタグをシミュレーション結果に関連付け得る。例えば、ビジネスタグは、誰がシミュレーションを実行したか、シミュレーションがいつ実行されたか、どのデータセットがシミュレーションの実行に使用されたかについての情報、及びシミュレーションに関してマーケティングチームメーカー１２８０により提供された他の備考を提供し得る。
【０３６６】
シミュレーション結果１３７６は、ステップ１３７８におけるレビューのためにマーケティングチームチェッカー１２８２に提供される。ステップ１３８０において、シミュレーション結果が適切ではなく、見込まれた結果と一貫しないとマーケティングチームチェッカー１２８２が判断する場合、プロセス１３７０はステップ１３７２にループバックし、それにより、マーケティングチームメーカー１２８０は重複ルールを改訂することができる。恐らく、特定の製品は、特定の期間中、特定の他の製品と重複せず、したがって、重複ルールを調整する必要はない。ステップ１３８４においてマーケティングチームチェッカーは、シミュレーション結果が何故、キャンペーン目標を満たさないのか等の備考を書き得、備考は、全体ルールセットに関連付けられたビジネスタグの一部として記憶される。シミュレーション結果が適切であり、見込まれた結果と一貫する場合、マーケティングチームチェッカー１２８２は、リスクチームチェッカー１２８６によりレビューに向けてルールを承認する。ステップ１３８６において、リスクチームチェッカー１２８６は、マーケティングチームメーカー１２８０によりオーサリングされた重複ルールを含むルールセット全体をレビューする。ステップ１３８８において、リスクが高すぎるとリスクチームチェッカー１２８６が判断する場合、プロセスはステップ１３７２にループバックする。シミュレーション結果が適切であり、リスクが許容可能である場合リスクチームチェッカー１２８６は、マネージャ１３７２によるレビューに向けてルールを承認する。
【０３６７】
ステップ１３９０において、マネージャ１３７２は、マーケティングチームメーカー１２８０によりオーサリングされた重複ルールを含むルールセット全体をレビューする。マネージャ１３７２がルールのパッケージ全体を承認しない場合、プロセスはステップ１３７２にループバックし、それにより、マーケティングチームメーカー１２８０は重複ルールを改訂することができる。ステップ１３９４において、マネージャ１３７２は、パッケージ全体が何故、キャンペーン目標を満たさないのか又は何故リスクが高すぎるのか等の備考を書き得、備考は、ルールセットのパッケージに関連付けられたビジネスタグの一部として記憶される。マネージャ１３７２がルールセットのパッケージ全体を承認する場合、キャンペーンはステップ１３９４において稼働し始める。
【０３６８】
プロセス１３５０、１３６０、及び１３７０は、キャンペーンのビジネスルールのオーサリング、チェック、及び承認が、金融機関の複数のスタッフメンバが関わる複雑なプロセスであることを示す。ルールは、マーケティングチームメーカー１２８０、マーケティングチームチェッカー１２８２、リスクチームメーカー１２８４、リスクチームチェッカー１２８６、及びマネージャ１３７２の間で前後に数回、やりとりされ得る。各反復において、各スタッフメンバは、ルールがマーケティングチームメーカー１２８０により提出されたのか、それともリスクチームメーカー１２８４により提出されたのか、ルールがマーケティングチームチェッカー１２８２により承認されたのか、それともリスクチームチェッカー１２８６により承認されたのか、及びルールがマネージャ１３７２により承認されたか否か等の各ルールの厳密なステータスを知る必要がある。各反復中、ルールに関する備考を書き、ビジネスタグに記憶し得る。
【０３６９】
ビジネスルールの幾つかのバージョンを記憶することができる。例えば、第１のキャンペーン製品のビジネスルールの第１のバージョンは、第２のキャンペーン製品のルールと矛盾し得、したがって、マーケティングチームメーカー１２８０は、ビジネスルールの第１のバージョンを記憶し、第２のキャンペーン製品のルールと矛盾しない第１のキャンペーン製品のビジネスルールの第２のバージョンを書くと決定し得る。ビジネスルールの第１のバージョンは、後のキャンペーンに有用であることができる特定のパラメータ値を有し得る。キャンペーン全体のルールセットのパッケージがマネージャ１３７２により承認されるときまでに、各キャンペーン製品にはビジネスルールの幾つかのバージョンを関連付け得、ルールの異なるバージョンは、異なる状況下で有用であり得るわずかに異なるパラメータ値を有し得る。
【０３７０】
従来のシステムよりも優れたアプリケーション開発システム１００の改善の１つは、ユーザが、異なるユーザインターフェースを切り替える必要なく且つあるアプリケーションから別のアプリケーションに情報を手動でコピーする必要なく、統合ユーザインターフェース１１２を通してドキュメントエディタ１０２、ビジネスプロセス管理ツール１０４、ソースコード制御ツール１０６、及びアプリケーションシミュレータ１０８により提供された機能にアクセスすることができることである。例えば、図７のシステム２６００は、ソフトウェアスイートで一緒に「バンドリング」されたビジネスプロセス管理ツール２６１２及びソースコード制御ツール２６１６を有するが、ビジネスプロセス管理ツール２６１２及びソースコード制御ツール２６１６は異なるユーザインターフェースを有することができ、メタデータを共有しない。したがって、例えば、システム２６００を使用すると、ユーザは、ソースコード制御ツール２６１６を使用してビジネスルールの幾つかのバージョンのソースコードを保存し、ビジネスプロセス管理ツール２６１２を使用して、異なる状態間のルールの遷移を管理することができる。ソースコード制御ツール２６１６は、時間の経過に伴いどのユーザが特定のコードに何の変更をおこなったかを追跡する。しかしながら、ビジネスプロセス管理ツール２６１２により生成された状態についての情報は、ソースコード制御ツール２６１６に自動的にキャリーオーバーされない。したがって、ビジネスルールの様々なバージョンのソースコードが保存される場合、ビジネスプロセス管理ツール２６１２により生成された状態についての情報は、ソースコード制御ツール２６１６によりソースコードと共に保存されない。したがって、システム２６００を使用して、ユーザがビジネスルールの初期バージョンを検索し、ルールが「提出済み」であったのか、それとも「承認済み」であったのか等のルールの状態を判断すること又はある状態から別の状態へのルールの遷移を誰が許可したかを特定することが難しいことがある。システム２６００を使用して、ユーザは、ソースコード制御ツール２６１６のログと、ビジネスプロセス管理ツール２６１２のログとを比較して、ビジネスプロセス管理ツール２６１２内の特定のルールの特定のバージョンの備考をソースコード制御ツール２６１６内の特定のルールの同じ特定のバージョンの備考とを照合し、備考に基づいて必要とされる情報を手動で推測する必要があり得る。
【０３７１】
非統合アプリケーション開発システム２６００よりも優れたアプリケーション開発システム１００の改善の１つは、アプリケーション開発システム１００が、システム２６００を使用しては達成することができないか、又は達成が非常に困難である機能を提供することができることである。例えば、アプリケーションは、アプリケーションの一連のリリースが時間の経過に伴って発行されるように、時間の経過に伴い進化し得る。アプリケーションの各リリースは、特定のルールセットの特定のバージョンのパッケージを使用し得、ルールセットの特定の各バージョンは特定の状態を有し、特定の状態への遷移は特定のユーザにより承認された。アプリケーションの異なるリリースは、ルールの異なるバージョンを含む異なるパッケージを使用し得る。アプリケーションの幾つかのリリースが発行された後、アプリケーションの初期リリースが適宜機能しなかったと判断されると考える。問題の原因を突き止めるために、問題を生じたアプリケーションの特定のリリースにより使用された特定のルールセットの特定のバージョンを検索し、特定のルールセットの特定のバージョンのログをレビューし、問題が発生する前にルールセットに何の変更が行われたか、誰かそれらの変更を行ったか、誰がそれらの変更を承認したか、及びそれらの変更が何故行われたかを特定することが有用であり得る。ルールセットのパッケージ全体のログをレビューし、問題が発生する前にパッケージに何の変更が行われたか、誰かそれらの変更を行ったか、誰がそれらの変更を承認したか、及びそれらの変更が何故行われたかを特定することが有用であり得る。アプリケーションの初期リリースにより使用された特定のルールセットの特定のバージョンを使用したアプリケーションの初期リリースの第１のシミュレーションを実行し、特定のルールセットの異なるバージョンを使用したアプリケーションの第２のシミュレーションを実行し、及び／又はルールセットの幾つかのパラメータを変更することによりアプリケーションの第３のシミュレーションを実行することも有用であり得る。非統合アプリケーション開発システム２６００を使用する場合、ソースコード制御ツール２６１６は、上述した機能の実施に必要なルールのソースコードと共にビジネスプロセス管理ツール２６１２により生成されたメタデータを記憶しないため、上記機能の全てを実行することは困難であり得る。非統合アプリケーション開発システム２６００を使用する場合、ユーザは、ビジネスプロセス管理ツール２６１２からの何らかの情報をソースコード制御ツール２６１６の備考セクションに手動でコピーすることができるが、多くの異なるユーザがルールを書き、編集し、レビューし、承認し得、異なる人々が異なる方法で備考を書き得るため、ビジネスプロセス管理ツール２６１２からソースコード制御ツール２６１６に手動でキャリーオーバーされた情報は、異なるユーザにわたり一貫しないことがあり、情報のレビューを難しくする。これとは対照的に、アプリケーション開発システム１００では、リポジトリ１１０に記憶されたメタデータは標準フォーマットを有し、ツール１０２、１０４、１０６、及び１０８の全てによりアクセスすることができ、非統合アプリケーション開発システム２６００を使用しては達成することができない新しい機能を可能にする。
【０３７２】
非統合アプリケーション開発システム２６００よりも優れたアプリケーション開発システム１００の改善の１つは、ビジネスルールがドキュメントエディタ１０２により編集された後、ビジネスルールを入力記録に適用した出力を自動的に更新し、表示することができることである。例えば、ルールは、図３０に示されるように、スプレッドシートフォーマットで入力することができる。スプレッドシート２２００におけるトリガー列２２０２、２２０４、２２０６、２２０８は利用可能なデータ値に対応し、行２２１０ａ〜ｈはルールケース、すなわち、利用可能なデータ値に関連する複数の組の基準に対応する。ルールケース２２１０ｎは、所与の記録のデータ値が、ルールケースが基準を有する各トリガー列で、トリガー基準を満たす場合、その所与の記録（例えば、図１１Ａにおける４０２）に適用される。ルールケース２２１０ｎが適用される場合、１つ又は複数の出力列２２１２に基づいて出力が生成される。全ての入力関係が満たされるルールケースは、「トリガー済み」と呼び得る。各出力列２２１２は潜在的な出力変数に対応し、適切な行２２１０ｎの対応するセル内の値が、その変数の出力がある場合、その変数の出力を決める。セルは、変数に割り当てられた値を含むことができ、又は後述するように、出力値を生成するために評価しなければならない式を含むことができる。２つ以上の出力列があり得るが、図３０には１つのみが示されている。
【０３７３】
図３１は、入力テスト表２４１４、出力テスト表２４１６、及び幾つかのテストケースの出力を示す結果表２４１０の一例を示す。表２４１０では、各テストケースの出力は別個の行２４１２ｉに表示され、列２４１３ａ〜ｄは、テストケース及び各ケースで計算された出力を示す。ある行が選択されると（この例では、２番目のケース又は行２４１２ｂが選択され、破線で示されている）、対応するテストケースからの入力値２４１４ａ〜２４１４ｇが入力表２４１４に示される。そのテストケースの出力２４１６ａ〜２４１６ｃは出力表２４１６に示される。表２４１６に示される出力２４１６ｉ（ｉ＝ａ，ｂ，ｃ）は、テストケースからの予期される出力、計算された実際の出力、又は両方であることができる。様々なインターフェースキューを使用して、テストのステータスについてユーザに通知することができる。例えば、アイコン２４１９は、テストケース２及び４の行２４１２ｂ及び２４１２ｄにおける出力が、ルールセットが最後にテストされたときから変更されていることを示す。いかなる他のルールとも一致しない入力値の組合せをキャッチする「デフォルト」ルールがない場合、そのような入力を有するテストケースはヌル出力２４１８を生成する。入力記録が、ゼロによる除算等の処理エラーで拒絶される場合、エラーを同じように示し得る。２つ以上のルールケースがテストケースによりトリガーされる場合、トリガーされたルールケースの数を示し得る（２４２２）。例えば、クリックすることにより、表示された出力の１つと対話することにより、ユーザに、その出力がいかに特定されたかを詳述する画面を表示することができる。
【０３７４】
幾つかの実施態様では、アプリケーション開発システム１００は、ドキュメントエディタ１０２及びアプリケーションシミュレータ１０８を統合するため、図３２に示されるように、ルールセットがテスト入力及びテスト出力の側に示されるユーザインターフェースを提供することができる。例えば、ユーザがスプレッドシート２２００においてトリガー列２２０２、２２０４、２２０６、２２０８を変更する場合、システム１００は、出力テスト表２４１６に示されるテスト出力値２４１６ｉ（ｉ＝ａ，ｂ，ｃ）を自動的に更新することができる。これにより、ユーザは、異なるルールを用いて実験し、フィードバックを素早く受信することができ、それにより、ユーザはルールを効率的に最適化することができる。上記例では、ユーザはドキュメントエディタ１０２を使用してスプレッドシート２２００においてルールセットに変更を行う場合、システム１００はアプリケーションシミュレータ１０８を自動的に呼び出して、ルールセットを変換式に変換し、変換式にグラフベースの計算の構成要素を関連付け、グラフベースの計算を実行し、実行の出力結果を使用して、出力テスト表２４１６を更新する。システム１００は、シミュレータ１０８をオン又はオフにする選択肢をユーザに与えることができる。システム１００はまた、変更がルールに行われた場合、出力を自動的に更新する選択肢又はユーザがそのような要求を行う場合のみ、出力を更新する選択肢をユーザに与えることもできる。
【０３７５】
統合ユーザインターフェース１１２（図１）は、ユーザがドキュメントエディタ１０２、ビジネスプロセス管理ツール１０４、ソースコード制御ツール１０６、アプリケーションシミュレータ１０８、及び共通ログデータオブジェクト１１６の機能にアクセスできるようにし、例えば、１つ又は複数のコンピュータサーバにより制御される１つ又は複数のディスプレイに示される１つ又は複数のグラフィカルユーザインターフェースであることができる。統合ユーザインターフェース１１２は、１つ又は複数のコンピュータサーバで実行中のモジュールにより生成された情報を示すことができる。
【０３７６】
図２の例では、統合ユーザインターフェース１１２は、コンピュータディスプレイに示されるエディタインターフェース２７２０、ビジネスプロセス管理インターフェース２７２２、ソースコード制御インターフェース２７２４、アプリケーションシミュレーションインターフェース２７２６、及び共通ログインターフェース２７２８を含む。インターフェース２７２０、２７２２、２７２４、２７２６、２７２８の２つ以上は、ユーザに同時に示すことができる。インターフェース２７２０、２７２２、２７２４、２７２６、２７２８は、ユーザに一度に１つずつ示すこともできる。
【０３７７】
統合ユーザインターフェース１１２は、ユーザがツールの１つを都合良く使用し、ツールの別の１つにアクセスできるようにするよう構成される。例えば、ソースコード制御インターフェース２７２４はルールのリストを示すことができ、ルールの幾つかはそれぞれ複数のバージョンを有する。ユーザは、特定のルールの特定のバージョン、例えば、「ルールＡＢＣ」のバージョン１．０を右クリックすることができ、ユーザが、例えば、選択されたルールを編集し、選択されたルールの実行をシミュレートし、選択されたルールの状態を変更し、又は選択されたルールに関連するログ情報を表示できるようにするメニューが表示される。
【０３７８】
ユーザがメニューにおいて「ルール編集」を選択する場合、ドキュメントエディタ１０２が呼び出され、エディタインターフェース２７２０がディスプレイに示されて、ユーザが、この例では「ルールＡＢＣ」のバージョン１．０である選択されたルールを編集できるようにする。エディタインターフェース２７２０がディスプレイに示される場合、エディタインターフェース２７２０は、ユーザがビジネスプロセス管理ツール１０４、ソースコード制御ツール１０６、アプリケーションシミュレータ１０８、及び共通ログデータオブジェクト１１６にアクセスできるようにするユーザ選択可能な要素（例えば、ボタン、メニュー、リンク）を含む。
【０３７９】
例えば、エディタインターフェース２７２０がディスプレイに示されている間、ユーザは、ビジネスプロセス管理ツール１０４を呼び出すことにより、ルールの状態を変更すると決定し得、ビジネスプロセス管理インターフェース２７２２がディスプレイに示される。ビジネスプロセス管理インターフェース２７２２は、ユーザがドキュメントエディタ１０２、ソースコード制御ツール１０６、アプリケーションシミュレータ１０８、及び共通ログデータオブジェクト１１６にアクセスできるようにするユーザ選択可能な要素（例えば、ボタン、メニュー、リンク）を含む。
【０３８０】
例えば、ビジネスプロセス管理インターフェース２７２２がディスプレイに示されている間、ユーザは、アプリケーションシミュレータ１０８を呼び出すことによりルールの実行をシミュレートすると決定し得、アプリケーションシミュレーションインターフェース２７２６がディスプレイに示される。アプリケーションシミュレーションインターフェース２７２６は、ユーザがドキュメントエディタ１０２、ビジネスプロセス管理ツール１０４、ソースコード制御ツール１０６、及び共通ログデータオブジェクト１１６にアクセスできるようにするユーザ選択可能な要素（例えば、ボタン、メニュー、リンク）を含む。
【０３８１】
例えば、アプリケーションシミュレーションインターフェース２７２６がディスプレイに示されている間、ユーザは、共通ログデータオブジェクト１１６にアクセスすることによりルールに関連するログ情報を見ると決定し得、共通ログインターフェース２７２８がディスプレイに示される。共通ログインターフェース２７２８は、ユーザがドキュメントエディタ１０２、ビジネスプロセス管理ツール１０４、ソースコード制御ツール１０６、及びシミュレータ１０８にアクセスできるようにするユーザ選択可能な要素（例えば、ボタン、メニュー、リンク）を含む。
【０３８２】
幾つかの実施態様では、エディタインターフェース２７２０、ビジネスプロセス管理インターフェース２７２２、ソースコード制御インターフェース２７２４、アプリケーションシミュレーションインターフェース２７２６、及び共通ログインターフェース２７２８の任意の組合せをユーザに同時に示すことができる。
【０３８３】
上述したオブジェクトの生成、リンク、ビジネスタグ付け、ルール編集、ルールシミュレーション、ビジネスルールプロセス管理、及びルールソースコード管理手法は、コンピュータで実行されるソフトウェアを使用して実施することができる。例えば、ソフトウェアは、それぞれが少なくとも１つのプロセッサ、少なくとも１つのデータ記憶システム（揮発性メモリ及び不揮発性メモリ及び／又は記憶要素を含む）、少なくとも１つの入力デバイス又はポート、及び少なくとも１つの出力デバイス又はポートを含む１つ又は複数のプログラムされた又はプログラム可能なコンピュータシステム（分散、クライアント／サーバ、又はグリッド等の様々なアーキテクチャであり得る）で実行される１つ又は複数のコンピュータプログラムにおいてプロシージャを形成する。ソフトウェアは、例えば、計算グラフの設計及び構成に関連する他のサービスを提供するより大きなプログラムの１つ又は複数のモジュールを形成し得る。グラフのノード及び要素は、コンピュータ可読媒体に記憶されるデータ構造又はデータリポジトリに記憶されたデータモデルに準拠する他の編成データとして実施することができる。
【０３８４】
ソフトウェアは、汎用又は専用プログラマブルコンピュータにより可読である、ＣＤ−ＲＯＭ等の媒体で提供されてもよく、又は実行されるコンピュータにネットワークを介して送られてもよい（伝搬信号に符号化される）。機能の全ては、専用コンピュータで実行されてもよく、又はコプロセッサ等の専用ハードウェアを使用して実行されてもよい。ソフトウェアは分散様式で実施し得、分散様式では、ソフトウェアにより指定された計算の異なる部分は異なるコンピュータにより実行される。そのような各コンピュータプログラムは好ましくは、記憶媒体又は装置がコンピュータシステムにより読み取られて、本明細書に記載の手順を実行する場合、コンピュータを構成し動作させるために、汎用又は専用プログラマブルコンピュータにより可読の記憶媒体又は装置（例えば、固体状態メモリ若しくは媒体又は磁気若しくは光学媒体）に記憶又はダウンロードされる。本発明によるシステムは、コンピュータプログラムが構成された記憶媒体が、コンピュータシステムに特定の予め定義された様式で動作させて、本明細書に記載された機能を実行させる場合、コンピュータプログラムが構成されたコンピュータ可読記憶媒体として実施するものと見なすこともできる。
【０３８５】
幾つかの本発明の実施態様が記載された。それにも関わらず、本発明の趣旨及び範囲から逸脱せずに様々な変更をなし得ることが理解されよう。例えば、上述したステップの幾つかは、順序から独立し得、したがって、記載の順序と異なる順序で実行することができる。上記説明は説明を意図したものであり、説明の範囲の限定を意図せず、説明の範囲は添付の特許請求の範囲により規定されることを理解されたい。
【０３８６】
幾つかの実施態様では、統合ユーザインターフェース１１２は、例えば、表示デバイス、オーディオ出力デバイス、及び／又は触覚デバイスを使用して１つ又は複数のフォーマットの情報、例えば、テキスト、グラフィックス、画像、オーディオ、ビデオ、及び／又は触覚フィードバックをユーザ９０に提供することができる。情報は、拡張現実システム又は仮想現実システムを使用してユーザ９０に提示することができる。統合ユーザインターフェース１１２は、キーボード、マウス、トラックボール、ジョイスティック、タッチパッド、タッチスクリーン、マイクロホン、カメラ、眼球追跡デバイス、ジェスチャ検出デバイス、及び／又は運動センサ等の１つ又は複数の入力デバイスからユーザ入力を受け入れることができる。
【０３８７】
例えば、ユーザ９０は、コンピュータ表示画面に示されたルールセットを編集することができる。ユーザ９０は、拡張現実メガネを装着することができ、ルールセットを使用して入力記録を処理するアプリケーションの実行のシミュレーションから導出された出力データは、コンピュータ表示画面の上に見えるように投影することができる。ソースコード制御に関連する情報は、コンピュータ表示画面の左側に見えるように投影することができ、ビジネスプロセス管理に関連する情報は、コンピュータディスプレイの右側に見えるように投影することができる。ユーザ９０がルールセットを編集すると、改訂された出力データがコンピュータ表示画面の上に投影される。ユーザ９０が、コンピュータ表示画面の左側に投影されたソースコード制御に関連する要素と対話することによりルールセットを借り出すと、選択されたルールセットはコンピュータ表示画面に示され、関連する状態情報はコンピュータ表示画面の右側に投影され、シミュレーション結果はコンピュータ表示画面の上に投影される。
【０３８８】
他の実施形態も以下の特許請求の範囲内にある。
【図１】
2020522779.tif 000003
【図２】
2020522779.tif 000004
【図３】
2020522779.tif 000005
【図４】
2020522779.tif 000006
【図５】
2020522779.tif 000007
【図６Ａ】
2020522779.tif 000008
【図６Ｂ】
2020522779.tif 000009
【図６Ｃ】
2020522779.tif 000010
【図６Ｄ】
2020522779.tif 000011
【図７】
2020522779.tif 000012
【図８】
2020522779.tif 000013
【図９】
2020522779.tif 000014
【図１０】
2020522779.tif 000015
【図１１Ａ】
2020522779.tif 000016
【図１１Ｂ】
2020522779.tif 000017
【図１２】
2020522779.tif 000018
【図１３】
2020522779.tif 000019
【図１４】
2020522779.tif 000020
【図１５】
2020522779.tif 000021
【図１６】
2020522779.tif 000022
【図１７】
2020522779.tif 000023
【図１８】
2020522779.tif 000024
【図１９Ａ】
2020522779.tif 000025
【図１９Ｂ】
2020522779.tif 000026
【図１９Ｃ】
2020522779.tif 000027
【図２０】
2020522779.tif 000028
【図２１】
2020522779.tif 000029
【図２２】
2020522779.tif 000030
【図２３Ａ】
2020522779.tif 000031
【図２３Ｂ】
2020522779.tif 000032
【図２４】
2020522779.tif 000033
【図２５】
2020522779.tif 000034
【図２６】
2020522779.tif 000035
【図２７】
2020522779.tif 000036
【図２８】
2020522779.tif 000037
【図２９】
2020522779.tif 000038
【図３０】
2020522779.tif 000039
【図３１】
2020522779.tif 000040
【図３２】
2020522779.tif 000041
【国際調査報告】
2020522779.tif 000042
2020522779.tif 000043
2020522779.tif 000044
2020522779.tif 000045
2020522779.tif 000046
2020522779.tif 000047