(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-04-10
(54)【発明の名称】複雑なビジネスソリューションをカスタマイズするルールベースシステム及び方法
(51)【国際特許分類】
G06F 8/30 20180101AFI20240403BHJP
G06F 11/36 20060101ALI20240403BHJP
【FI】
G06F8/30
G06F11/36 188
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023560074
(86)(22)【出願日】2021-12-03
(85)【翻訳文提出日】2023-09-28
(86)【国際出願番号】 CA2021051725
(87)【国際公開番号】W WO2022115956
(87)【国際公開日】2022-06-09
(32)【優先日】2020-12-04
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2021-09-21
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2021-09-21
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2021-09-21
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】521084851
【氏名又は名称】キナクシス インコーポレイテッド
(74)【代理人】
【識別番号】110000855
【氏名又は名称】弁理士法人浅村特許事務所
(72)【発明者】
【氏名】ラチニオウスキー、ズビグニェフ ポール
(72)【発明者】
【氏名】マクストラヴィック、スティーブ
(72)【発明者】
【氏名】リベロ、エドゥアルド
(72)【発明者】
【氏名】アニセニア、アンドレイ
(72)【発明者】
【氏名】デジェネ、フェカデェブ
【テーマコード(参考)】
5B042
5B376
【Fターム(参考)】
5B042HH11
5B042HH49
5B376BC11
5B376BC24
5B376BC31
5B376BC61
5B376BC80
(57)【要約】
コンサルタント及び顧客が、それらが行った変更を、リソースと関連付けられたコンポーネントの生成されたコピーと一致させることを可能にする2-way及び3-way比較マージツールである。効果的な、使用することが容易な比較ツールを提供するシステム及び方法は、スキーマ認識比較;集合プロパティ、殊に入れ子にされた集合の洗練された扱い;外形の差異に関わらず、2つのアイテムが同一のビジネスオブジェクトであることを認識するための効果的なマッチングアルゴリズム;ユーザヒント及び入力を受け入れ、ユーザ決定を持続させる能力;ビジネスオブジェクトの構造を反映する構造化された報告;大規模の差異の間の重要な変更(リソースごとの数千の変更の間の)を発見するためのカラーフォーマッティング、タグ付け、及びフィルタリング、を含む。そのようなシステム及び方法はまた、グラマ認識比較ツールを含む。更に、3-way比較における第3のデータポイントとして共通アンセスタを追加することは、変更のソースを識別する。
【特許請求の範囲】
【請求項1】
コンピュータにより実施される方法であって、
プロセッサによって、2wayスキーマ認識比較ツールを使用して、第1のリソース及び第2のリソースを比較するステップであって、前記第2のリソースは、前記第1のリソースを編集することによって生成される、比較するステップと、
前記プロセッサによって、前記第1のリソースと前記第2のリソースとの間の1つ又は複数の差異の第1の低コードプラットフォーム比較報告を生成するステップと、を含み、
前記2wayスキーマ認識ツールは、前記第1のリソース及び前記第2のリソースのスキーマメタデータを比較する、
コンピュータにより実施される方法。
【請求項2】
前記2wayスキーマ認識比較ツールは、前記第1のリソースと前記第2のリソースとの間の各々の変更をタグ付け及び分類する、請求項1に記載のコンピュータにより実施される方法。
【請求項3】
前記2wayスキーマ認識比較ツールは、識別子、代替識別子、及びヒューリスティックマッチングルールのうちの少なくとも1つを使用する、請求項1に記載のコンピュータにより実施される方法。
【請求項4】
前記2wayスキーマ認識比較ツールは、前記第1のリソースと前記第2のリソースとの間の1つ又は複数の差異の意図を認識する、請求項1に記載のコンピュータにより実施される方法。
【請求項5】
前記スキーマメタデータは、リソースの構造、前記リソースの1つ又は複数のプロパティ、前記リソースの1つ又は複数のプロパティデータタイプ、前記1つ又は複数のプロパティの間の関係、前記リソースの階層的性質、及び前記リソースをカスタマイズするためにオーサがどのように作業するかのドメイン知識を捕捉する、請求項1に記載のコンピュータにより実施される方法。
【請求項6】
前記プロセッサによって、前記2wayスキーマ認識比較ツールを使用して、前記第1のリソース及び第3のリソースを比較するステップであって、前記第3のリソースは、前記第1のリソースを編集することによって生成される、比較するステップと、
前記プロセッサによって、前記第1のリソースと前記第3のリソースとの間の1つ又は複数の差異の第2の低コードプラットフォーム比較報告を生成するステップと、
前記プロセッサによって、前記第1の低コードプラットフォーム比較報告及び前記第2の低コード比較報告を比較するステップと、
前記プロセッサによって、前記第1の低コードプラットフォーム比較報告と前記第2の低コード比較報告との間の1つ又は複数の衝突を検出するステップと、
前記プロセッサによって、前記1つ又は複数の衝突を一致させるステップと、を更に含み、
前記2wayスキーマ認識ツールは更に、前記第1のリソース及び前記第3のリソースの前記スキーマメタデータを比較する、
請求項1に記載のコンピュータにより実施される方法。
【請求項7】
システムであって、
プロセッサと、
命令を記憶したメモリと、を備え、前記命令は、前記プロセッサによって実行されるとき、
プロセッサによって、2wayスキーマ認識比較ツールを使用して、第1のリソース及び第2のリソースを比較し、前記第2のリソースは、前記第1のリソースを編集することによって生成され、
前記プロセッサによって、前記第1のリソースと前記第2のリソースとの間の1つ又は複数の差異の第1の低コードプラットフォーム比較報告を生成する、前記システムを構成し、
前記2wayスキーマ認識ツールは、前記第1のリソース及び前記第2のリソースのスキーマメタデータを比較する、
システム。
【請求項8】
前記2wayスキーマ認識比較ツールは、前記第1のリソースと前記第2のリソースとの間の各々の変更をタグ付け及び分類する、請求項7に記載のシステム。
【請求項9】
前記2wayスキーマ認識比較ツールは、識別子、代替識別子、及びヒューリスティックマッチングルールのうちの少なくとも1つを使用する、請求項7に記載のシステム。
【請求項10】
前記2wayスキーマ認識比較ツールは、前記第1のリソースと前記第2のリソースとの間の1つ又は複数の差異の意図を認識する、請求項7に記載のシステム。
【請求項11】
前記スキーマメタデータは、リソースの構造、前記リソースの1つ又は複数のプロパティ、前記リソースの1つ又は複数のプロパティデータタイプ、前記1つ又は複数のプロパティの間の関係、前記リソースの階層的性質、及び前記リソースをカスタマイズするためにオーサがどのように作業するかのドメイン知識を捕捉する、請求項7に記載のシステム。
【請求項12】
前記命令は更に、
前記プロセッサによって、前記2wayスキーマ認識比較ツールを使用して、前記第1のリソース及び第3のリソースを比較し、前記第3のリソースは、前記第1のリソースを編集することによって生成され、
前記プロセッサによって、前記第1のリソースと前記第3のリソースとの間の1つ又は複数の差異の第2の低コードプラットフォーム比較報告を生成し、
前記プロセッサによって、前記第1の低コードプラットフォーム比較報告及び前記第2の低コード比較報告を比較し、
前記プロセッサによって、前記第1の低コードプラットフォーム比較報告と前記第2の低コード比較報告との間の1つ又は複数の衝突を検出し、
前記プロセッサによって、前記1つ又は複数の衝突を一致させる、ように前記システムを構成し、
前記2wayスキーマ認識ツールは更に、前記第1のリソース及び前記第3のリソースの前記スキーマメタデータを比較する、
請求項7に記載のシステム。
【請求項13】
非一時的コンピュータ可読記憶媒体であって、前記コンピュータ可読記憶媒体は、命令を含み、前記命令は、コンピュータによって実行されるとき、前記コンピュータに、
プロセッサによって、2wayスキーマ認識比較ツールを使用して、第1のリソース及び第2のリソースを比較させ、前記第2のリソースは、前記第1のリソースを編集することによって生成され、
前記プロセッサによって、前記第1のリソースと前記第2のリソースとの間の1つ又は複数の差異の第1の低コードプラットフォーム比較報告を生成させ、
前記2wayスキーマ認識ツールは、前記第1のリソース及び前記第2のリソースのスキーマメタデータを比較する、
非一時的コンピュータ可読記憶媒体。
【請求項14】
前記2wayスキーマ認識比較ツールは、前記第1のリソースと前記第2のリソースとの間の各々の変更をタグ付け及び分類する、請求項13に記載の非一時的コンピュータ可読記憶媒体。
【請求項15】
前記2wayスキーマ認識比較ツールは、識別子、代替識別子、及びヒューリスティックマッチングルールのうちの少なくとも1つを使用する、請求項13に記載の非一時的コンピュータ可読記憶媒体。
【請求項16】
前記2wayスキーマ認識比較ツールは、前記第1のリソースと前記第2のリソースとの間の1つ又は複数の差異の意図を認識する、請求項13に記載の非一時的コンピュータ可読記憶媒体。
【請求項17】
前記スキーマメタデータは、リソースの構造、前記リソースの1つ又は複数のプロパティ、前記リソースの1つ又は複数のプロパティデータタイプ、前記1つ又は複数のプロパティの間の関係、前記リソースの階層的性質、及び前記リソースをカスタマイズするためにオーサがどのように作業するかのドメイン知識を捕捉する、請求項13に記載の非一時的コンピュータ可読記憶媒体。
【請求項18】
前記命令は更に、
前記プロセッサによって、前記2wayスキーマ認識比較ツールを使用して、前記第1のリソース及び第3のリソースを比較し、前記第3のリソースは、前記第1のリソースを編集することによって生成され、
前記プロセッサによって、前記第1のリソースと前記第3のリソースとの間の1つ又は複数の差異の第2の低コードプラットフォーム比較報告を生成し、
前記プロセッサによって、前記第1の低コードプラットフォーム比較報告及び前記第2の低コード比較報告を比較し、
前記プロセッサによって、前記第1の低コードプラットフォーム比較報告と前記第2の低コード比較報告との間の1つ又は複数の衝突を検出し、
前記プロセッサによって、前記1つ又は複数の衝突を一致させる、ように前記コンピュータを構成し、
前記2wayスキーマ認識ツールは更に、前記第1のリソース及び前記第3のリソースの前記スキーマメタデータを比較する、
請求項13に記載の非一時的コンピュータ可読記憶媒体。
【請求項19】
コンピュータにより実施される方法であって、
プロセッサによって、リソースのマスタコピーからリソースを選択するステップと、
前記プロセッサによって、前記リソースのワーキングコピーである第1のリソースを作成するステップと、
前記プロセッサによって、前記第1のリソースを編集し、それによって、第2のリソースを生成するステップと、
前記プロセッサによって、前記第2のリソースを試験及び検証するステップと、
前記プロセッサによって、前記第1のリソースを前記第2のリソースと比較するステップと、
前記プロセッサによって、前記第1のリソースと前記第2のリソースとの間の1つ又は複数の差異からレシピファイルを生成するステップであって、前記レシピファイルは、前記第1のリソースを前記第2のリソースに転換するコマンド及び/又は修正の注釈付けられたリスト、を含む、生成するステップと、
前記プロセッサによって、前記レシピファイルを前記第1のリソースに適用し、それによって、第3のリソースを生成するステップと、
前記プロセッサによって、前記第3のリソースを前記第2のリソースと比較するステップと、
前記プロセッサによって、前記レシピファイルを検証するステップと、
を含む、コンピュータにより実施される方法。
【請求項20】
前記プロセッサによって、前記レシピファイル内の修正のリストを注釈付けるステップと、
前記プロセッサによって、前記注釈付けられたリストをマスタレシピデータベースにマージするステップであって、前記マスタレシピデータベースは、生成された修正のカタログを包含する、マージするステップと、
前記プロセッサによって、前記マスタレシピデータベースを検証して、前記マスタレシピデータベース内の修正の他の注釈付けられたリストに関して衝突又は不一致がないことを保証するステップと、
を更に含む、請求項19に記載のコンピュータにより実施される方法。
【請求項21】
前記マスタコピーは、文書化及び試験され、複数の機能性、複数の特徴、及び複数の構成オプションを含む、請求項19に記載のコンピュータにより実施される方法。
【請求項22】
前記リソースは、ワークブック、ウィジェット、タスクフロー、スクリプト、スコアカード、責任、工程テンプレート、階層、フォーム、フィルタ、ダッシュボード、及びアラートのうちの少なくとも1つを含む、請求項19に記載のコンピュータにより実施される方法。
【請求項23】
いずれかの2つのリソースの間で比較することは、スキーマ認識比較である、請求項19に記載のコンピュータにより実施される方法。
【請求項24】
いずれかの2つのリソースの間で比較することは、前記第1のリソース及び前記第2のリソースのスキーマメタデータを比較する、請求項19に記載のコンピュータにより実施される方法。
【請求項25】
プロセッサと、
命令を記憶したメモリと、を備え、前記命令は、前記プロセッサによって実行されるとき、
前記プロセッサによって、リソースのマスタコピーからリソースを選択し、
前記プロセッサによって、前記リソースのワーキングコピーである第1のリソースを作成し、
前記プロセッサによって、前記第1のリソースを編集し、それによって、第2のリソースを生成し、
前記プロセッサによって、前記第2のリソースを試験及び検証し、
前記プロセッサによって、前記第1のリソースを前記第2のリソースと比較し、
前記プロセッサによって、前記第1のリソースと前記第2のリソースとの間の1つ又は複数の差異からレシピファイルを生成し、前記レシピファイルは、前記第1のリソースを前記第2のリソースに転換するコマンド及び/又は修正の注釈付けられたリストを含み、
前記プロセッサによって、前記レシピファイルを前記第1のリソースに適用し、それによって、第3のリソースを生成し、
前記プロセッサによって、前記第3のリソースを前記第2のリソースと比較し、
前記プロセッサによって、前記レシピファイルを検証する、
ように前記システムを構成する、システム。
【請求項26】
前記命令は更に、
前記プロセッサによって、前記レシピファイル内の修正のリストを注釈付け、
前記プロセッサによって、前記注釈付けられたリストをマスタレシピデータベースにマージし、前記マスタレシピデータベースは、生成された修正のカタログを包含し、
前記プロセッサによって、前記マスタレシピデータベースを検証して、前記マスタレシピデータベース内の修正の他の注釈付けられたリストに関して衝突又は不一致がないことを保証する、
ように前記システムを構成する、請求項25に記載のシステム。
【請求項27】
前記マスタコピーは、文書化及び試験され、複数の機能性、複数の特徴、及び複数の構成オプションを含む、請求項25に記載のシステム。
【請求項28】
前記リソースは、ワークブック、ウィジェット、タスクフロー、スクリプト、スコアカード、責任、工程テンプレート、階層、フォーム、フィルタ、ダッシュボード、及びアラートのうちの少なくとも1つを含む、請求項25に記載のシステム。
【請求項29】
いずれかの2つのリソースの間で比較することは、スキーマ認識比較である、請求項25に記載のシステム。
【請求項30】
いずれかの2つのリソースの間で比較することは、前記第1のリソース及び前記第2のリソースのスキーマメタデータを比較する、請求項25に記載のシステム。
【請求項31】
非一時的コンピュータ可読記憶媒体であって、前記コンピュータ可読記憶媒体は命令を含み、前記命令は、コンピュータによって実行されるとき、前記コンピュータに、
プロセッサによって、リソースのマスタコピーからリソースを選択させ、
前記プロセッサによって、前記リソースのワーキングコピーである第1のリソースを作成させ、
前記プロセッサによって、前記第1のリソースを編集し、それによって、第2のリソースを生成させ、
前記プロセッサによって、前記第2のリソースを試験及び検証させ、
前記プロセッサによって、前記第1のリソースを前記第2のリソースと比較させ、
前記プロセッサによって、前記第1のリソースと前記第2のリソースとの間の1つ又は複数の差異からレシピファイルを生成させ、前記レシピファイルは、前記第1のリソースを前記第2のリソースに転換するコマンド及び/又は修正の注釈付けられたリストを含み、
前記プロセッサによって、前記レシピファイルを前記第1のリソースに適用し、それによって、第3のリソースを生成させ、
前記プロセッサによって、前記第3のリソースを前記第2のリソースと比較させ、
前記プロセッサによって、前記レシピファイルを検証させる、
非一時的コンピュータ可読記憶媒体。
【請求項32】
前記命令は更に、
前記プロセッサによって、前記レシピファイル内の修正のリストを注釈付け、
前記プロセッサによって、前記注釈付けられたリストをマスタレシピデータベースにマージし、前記マスタレシピデータベースは、生成された修正のカタログを包含し、
前記プロセッサによって、前記マスタレシピデータベースを検証して、前記マスタレシピデータベース内の修正の他の注釈付けられたリストに関して衝突又は不一致がないことを保証する、
ように前記コンピュータを構成する、請求項31に記載の非一時的コンピュータ可読記憶媒体。
【請求項33】
前記マスタコピーは、文書化及び試験され、複数の機能性、複数の特徴、及び複数の構成オプションを含む、請求項31に記載の非一時的コンピュータ可読記憶媒体。
【請求項34】
前記リソースは、ワークブック、ウィジェット、タスクフロー、スクリプト、スコアカード、責任、工程テンプレート、階層、フォーム、フィルタ、ダッシュボード、及びアラートのうちの少なくとも1つを含む、請求項31に記載の非一時的コンピュータ可読記憶媒体。
【請求項35】
いずれかの2つのリソースの間で比較することは、スキーマ認識比較である、請求項31に記載の非一時的コンピュータ可読記憶媒体。
【請求項36】
いずれかの2つのリソースの間で比較することは、前記第1のリソース及び前記第2のリソースのスキーマメタデータを比較する、請求項31に記載の非一時的コンピュータ可読記憶媒体。
【請求項37】
コンピュータにより実施される方法であって、
プロセッサによって、マスタレシピデータベースから、機能性、特徴、及び構成オプションのうちの少なくとも1つを選択することによって、効果的なレシピファイルを生成するステップであって、前記選択することは、ビジネス目的に基づいている、生成するステップと、
前記プロセッサによって、前記効果的なレシピファイルを、リソースのマスタコピーから選択されたリソースの第1のワーキングコピーに適用することによって、カスタマイズされたリソースを生成するステップと、
を含む、コンピュータにより実施される方法。
【請求項38】
前記マスタレシピデータベースは、
前記プロセッサによって、レシピファイル内の修正のリストを注釈付け、それによって、修正の注釈付けられたリストを生み出し、
前記プロセッサによって、前記修正の注釈付けられたリストを前記マスタレシピデータベースにマージし、前記マスタレシピデータベースは、生成された修正のカタログを包含し、
前記プロセッサによって、前記マスタレシピデータベースを検証して、前記マスタレシピデータベース内の修正の他の注釈付けられたリストに関して衝突又は不一致がないことを保証する、
ことによって生成される、請求項37に記載のコンピュータにより実施される方法。
【請求項39】
前記レシピファイルは、1つ又は複数のレシピファイルアイテムの編纂であり、各々のレシピファイルアイテムは、
前記プロセッサによって、リソースの前記マスタコピーから選択された第1のリソースのワーキングコピーを作成し、
前記プロセッサによって、前記第1のリソースの前記ワーキングコピーを編集し、それによって、第2のリソースを生成し、
前記プロセッサによって、前記第2のリソースを試験及び検証し、
前記プロセッサによって、前記第1のリソースの前記ワーキングコピーを前記第2のリソースと比較し、
前記プロセッサによって、前記第1のリソース及び前記第2のリソースの前記ワーキングコピーの間の1つ又は複数の差異からレシピファイルアイテムを生成し、前記レシピファイルアイテムは、前記第1のリソースの前記ワーキングコピーを前記第2のリソースに転換するコマンド及び/又は編集の注釈付けられたリストを含み、
前記プロセッサによって、前記レシピファイルアイテムを前記第1のリソースの前記ワーキングコピーに適用し、それによって、第3のリソースを生成し、
前記プロセッサによって、前記第3のリソースを前記第2のリソースと比較し、
前記プロセッサによって、前記レシピファイルアイテムを検証する、
ことによって生成される、
請求項38に記載のコンピュータにより実施される方法。
【請求項40】
いずれかの2つのリソースの間で比較することは、スキーマ認識比較である、請求項39に記載のコンピュータにより実施される方法。
【請求項41】
いずれかの2つのリソースの間で比較することは、前記第1のリソース及び前記第2のリソースのスキーマメタデータを比較する、請求項40に記載のコンピュータにより実施される方法。
【請求項42】
前記マスタコピーは、文書化及び試験され、複数の機能性、複数の特徴、及び複数の構成オプションを含む、請求項37に記載のコンピュータにより実施される方法。
【請求項43】
前記リソースは、ワークブック、ウィジェット、タスクフロー、スクリプト、スコアカード、責任、工程テンプレート、階層、フォーム、フィルタ、ダッシュボード、及びアラートのうちの少なくとも1つを含む、請求項37に記載のコンピュータにより実施される方法。
【請求項44】
システムであって、
プロセッサと、
命令を記憶したメモリと、を備え、前記命令は、前記プロセッサによって実行されるとき、
プロセッサによって、マスタレシピデータベースから、機能性、特徴、及び構成オプションのうちの少なくとも1つを選択することによって、効果的なレシピファイルを生成し、前記選択することは、ビジネス目的に基づいており、
前記プロセッサによって、前記効果的なレシピファイルを、リソースのマスタコピーから選択されたリソースの第1のワーキングコピーに適用することによって、カスタマイズされたリソースを生成する、
ように前記システムを構成する、システム。
【請求項45】
前記マスタレシピデータベースは、前記プロセッサによって実行されるとき、
前記プロセッサによって、レシピファイル内の修正のリストを注釈付け、それによって、修正の注釈付けられたリストを生み出し、
前記プロセッサによって、前記修正の注釈付けられたリストを前記マスタレシピデータベースにマージし、前記マスタレシピデータベースは、生成された修正のカタログを包含し、
前記プロセッサによって、前記マスタレシピデータベースを検証して、前記マスタレシピデータベース内の修正の他の注釈付けられたリストに関して衝突又は不一致がないことを保証する、
ように前記システムを更に構成する、命令を記憶した前記メモリによって生成される、
請求項44に記載のシステム。
【請求項46】
前記レシピファイルは、1つ又は複数のレシピファイルアイテムの編纂であり、各々のレシピファイルアイテムは、前記プロセッサによって実行されるとき、
前記プロセッサによって、リソースの前記マスタコピーから選択された第1のリソースのワーキングコピーを作成し、
前記プロセッサによって、前記第1のリソースの前記ワーキングコピーを編集し、それによって、第2のリソースを生成し、
前記プロセッサによって、前記第2のリソースを試験及び検証し、
前記プロセッサによって、前記第1のリソースの前記ワーキングコピーを前記第2のリソースと比較し、
前記プロセッサによって、前記第1のリソース及び前記第2のリソースの前記ワーキングコピーの間の1つ又は複数の差異からレシピファイルアイテムを生成し、前記レシピファイルアイテムは、前記第1のリソースの前記ワーキングコピーを前記第2のリソースに転換するコマンド及び/又は編集の注釈付けられたリストを含み、
前記プロセッサによって、前記レシピファイルアイテムを前記第1のリソースの前記ワーキングコピーに適用し、それによって、第3のリソースを生成し、
前記プロセッサによって、前記第3のリソースを前記第2のリソースと比較し、
前記プロセッサによって、前記レシピファイルアイテムを検証する、
ように前記システムを更に構成する、命令を記憶した前記メモリによって生成される、
請求項45に記載のシステム。
【請求項47】
いずれかの2つのリソースの間で比較することは、スキーマ認識比較である、請求項46に記載のシステム。
【請求項48】
いずれかの2つのリソースの間で比較することは、前記第1のリソース及び前記第2のリソースのスキーマメタデータを比較する、請求項47に記載のシステム。
【請求項49】
前記マスタコピーは、文書化及び試験され、複数の機能性、複数の特徴、及び複数の構成オプションを含む、請求項44に記載のシステム。
【請求項50】
前記リソースは、ワークブック、ウィジェット、タスクフロー、スクリプト、スコアカード、責任、工程テンプレート、階層、フォーム、フィルタ、ダッシュボード、及びアラートのうちの少なくとも1つを含む、請求項44に記載のシステム。
【請求項51】
非一時的コンピュータ可読記憶媒体であって、前記コンピュータ可読記憶媒体は命令を含み、前記命令は、コンピュータによって実行されるとき、前記コンピュータに、
プロセッサによって、マスタレシピデータベースから、機能性、特徴、及び構成オプションのうちの少なくとも1つを選択することによって、効果的なレシピファイルを生成させ、前記選択することは、ビジネス目的に基づいており、
前記プロセッサによって、前記効果的なレシピファイルを、リソースのマスタコピーから選択されたリソースの第1のワーキングコピーに適用することによって、カスタマイズされたリソースを生成させる、
非一時的コンピュータ可読記憶媒体。
【請求項52】
前記マスタレシピデータベースは、前記コンピュータによって実行されるとき、前記コンピュータに、
前記プロセッサによって、レシピファイル内の修正のリストを注釈付け、それによって、修正の注釈付けられたリストを生み出させ、
前記プロセッサによって、前記修正の注釈付けられたリストを前記マスタレシピデータベースにマージさせ、前記マスタレシピデータベースは、生成された修正のカタログを包含し、
前記プロセッサによって、前記マスタレシピデータベースを検証して、前記マスタレシピデータベース内の修正の他の注釈付けられたリストに関して衝突又は不一致がないことを保証させる、
前記命令によって生成される、請求項51に記載の非一時的コンピュータ可読記憶媒体。
【請求項53】
前記レシピファイルは、1つ又は複数のレシピファイルアイテムの編纂であり、各々のレシピファイルアイテムは、前記コンピュータによって実行されるとき、前記コンピュータに、
前記プロセッサによって、リソースの前記マスタコピーから選択された第1のリソースのワーキングコピーを作成させ、
前記プロセッサによって、前記第1のリソースの前記ワーキングコピーを編集し、それによって、第2のリソースを生成させ、
前記プロセッサによって、前記第2のリソースを試験及び検証させ、
前記プロセッサによって、前記第1のリソースの前記ワーキングコピーを前記第2のリソースと比較させ、
前記プロセッサによって、前記第1のリソース及び前記第2のリソースの前記ワーキングコピーの間の1つ又は複数の差異からレシピファイルアイテムを生成させ、前記レシピファイルアイテムは、前記第1のリソースの前記ワーキングコピーを前記第2のリソースに転換するコマンド及び/又は編集の注釈付けられたリストを含み、
前記プロセッサによって、前記レシピファイルアイテムを前記第1のリソースの前記ワーキングコピーに適用し、それによって、第3のリソースを生成させ、
前記プロセッサによって、前記第3のリソースを前記第2のリソースと比較させ、
前記プロセッサによって、前記レシピファイルアイテムを検証させる、
前記命令によって生成される、
請求項52に記載の非一時的コンピュータ可読記憶媒体。
【請求項54】
いずれかの2つのリソースの間で比較することは、スキーマ認識比較である、請求項53に記載の非一時的コンピュータ可読記憶媒体。
【請求項55】
いずれかの2つのリソースの間で比較することは、前記第1のリソース及び前記第2のリソースのスキーマメタデータを比較する、請求項54に記載の非一時的コンピュータ可読記憶媒体。
【請求項56】
前記マスタコピーは、文書化及び試験され、複数の機能性、複数の特徴、及び複数の構成オプションを含む、請求項51に記載の非一時的コンピュータ可読記憶媒体。
【請求項57】
前記リソースは、ワークブック、ウィジェット、タスクフロー、スクリプト、スコアカード、責任、工程テンプレート、階層、フォーム、フィルタ、ダッシュボード、及びアラートのうちの少なくとも1つを含む、請求項51に記載の非一時的コンピュータ可読記憶媒体。
【請求項58】
コンピュータにより実施される方法であって、
プロセッサによって、2-wayグラマ認識比較ツールを使用して、第1のコンポーネント及び第2のコンポーネントを比較するステップであって、前記第2のコンポーネントは、前記第1のコンポーネントを編集することによって生成される、比較するステップと、
前記プロセッサによって、前記第1のコンポーネントと前記第2のコンポーネントとの間の1つ又は複数の差異の第1の比較報告を生成するステップと、を含み、
前記第1のコンポーネント及び前記第2のコンポーネントは、1つ又は複数のフリーフォーム表現を含み、
前記2-wayグラマ認識比較ツールは、前記1つ又は複数のフリーフォーム表現の各々をそれぞれのオブジェクトツリーに変換するために、プログラミング言語グラマを使用する、
コンピュータにより実施される方法。
【請求項59】
前記第1のコンポーネント及び第2のコンポーネントは、プログラム、コード、表現、マクロ、埋め込み文書化、ユーザ文書化、試験計画、訓練マテリアル、試験データ、ソリューションパッケージング、及びインストールのうちの少なくとも1つである、請求項58に記載のコンピュータにより実施される方法。
【請求項60】
前記プログラミング言語グラマは、構造化されたテキスト、コード、又はフリーフォームテキストを読み込み、処理し、実行し、又は翻訳するためのパーサジェネレータを使用して捕捉される、請求項58に記載のコンピュータにより実施される方法。
【請求項61】
前記2-wayグラマ認識比較ツールは、前記第1のコンポーネントと前記第2のコンポーネントとの間の各々の変更をタグ付け及び分類する、請求項58に記載のコンピュータにより実施される方法。
【請求項62】
前記2-wayグラマ認識比較ツールは、識別子、代替識別子、ヒューリスティックマッチングルール、プロパティ変更を試験工程にマッピングするためのメタデータ、内部コンポーネント従属性、外部コンポーネント従属性、及び1つ又は複数の差異の報告を提供するためのマッピングヒントのうちの少なくとも1つを使用する、請求項58に記載のコンピュータにより実施される方法。
【請求項63】
前記2-wayグラマ認識比較ツールは、前記第1のコンポーネントと前記第2のコンポーネントとの間の1つ又は複数の差異のビジネス目的を認識する、請求項58に記載のコンピュータにより実施される方法。
【請求項64】
前記2-wayグラマ認識比較ツールは、コンポーネントの構造、前記コンポーネントの1つ又は複数のプロパティ、前記コンポーネントの1つ又は複数のプロパティデータタイプ、前記1つ又は複数のプロパティの間の関係、前記コンポーネントの階層的性質、及び前記コンポーネントをカスタマイズするためにオーサがどのように作業するかのドメイン知識を捕捉する、請求項58に記載のコンピュータにより実施される方法。
【請求項65】
前記プロセッサによって、前記2-wayグラマ認識比較ツールを使用して、前記第1のコンポーネント及び第3のコンポーネントを比較するステップであって、前記第3のコンポーネントは、前記第1のコンポーネントを編集することによって生成される、比較するステップと、
前記プロセッサによって、前記第1のコンポーネントと前記第3のコンポーネントとの間の1つ又は複数の差異の第2の比較報告を生成するステップと、
前記プロセッサによって、前記第1の比較報告及び前記第2の比較報告を比較するステップと、
前記プロセッサによって、前記第1の比較報告と前記第2の比較報告との間の1つ又は複数の衝突を一致させるステップと、を更に含み、
前記2-wayグラマ認識比較ツールは、実行可能な比較報告を提供するために、メタデータ、構造、及びグラマ知識を活用する、
請求項58に記載のコンピュータにより実施される方法。
【請求項66】
システムであって、
プロセッサと、
命令を記憶したメモリと、を備え、前記命令は、前記プロセッサによって実行されるとき、
前記プロセッサによって、2-wayグラマ認識比較ツールを使用して、第1のコンポーネント及び第2のコンポーネントを比較し、前記第2のコンポーネントは、前記第1のコンポーネントを編集することによって生成され、
前記プロセッサによって、前記第1のコンポーネントと前記第2のコンポーネントとの間の1つ又は複数の差異の第1の比較報告を生成する、ように前記システムを構成し、
前記第1のコンポーネント及び前記第2のコンポーネントは、1つ又は複数のフリーフォーム表現を含み、
前記2-wayグラマ認識比較ツールは、前記1つ又は複数のフリーフォーム表現の各々をそれぞれのオブジェクトツリーに変換するために、プログラミング言語グラマを使用する、
システム。
【請求項67】
前記第1のコンポーネント及び第2のコンポーネントは、プログラム、コード、表現、マクロ、埋め込み文書化、ユーザ文書化、試験計画、訓練マテリアル、試験データ、ソリューションパッケージング、及びインストールのうちの少なくとも1つである、請求項66に記載のシステム。
【請求項68】
前記第1のコンポーネント及び第2のコンポーネントは、プログラム、コード、表現、マクロ、埋め込み文書化、ユーザ文書化、試験計画、訓練マテリアル、試験データ、ソリューションパッケージング、及びインストールのうちの少なくとも1つである、請求項66に記載のシステム。
【請求項69】
前記2-wayグラマ認識比較ツールは、前記第1のコンポーネントと前記第2のコンポーネントとの間の各々の変更をタグ付け及び分類する、請求項66に記載のシステム。
【請求項70】
前記2-wayグラマ認識比較ツールは、識別子、代替識別子、ヒューリスティックマッチングルール、プロパティ変更を試験工程にマッピングするためのメタデータ、内部コンポーネント従属性、外部コンポーネント従属性、及び1つ又は複数の差異の報告を提供するためのマッピングヒントのうちの少なくとも1つを使用する、請求項66に記載のシステム。
【請求項71】
前記2-wayグラマ認識比較ツールは、前記第1のコンポーネントと前記第2のコンポーネントとの間の1つ又は複数の差異のビジネス目的を認識する、請求項66に記載のシステム。
【請求項72】
前記2-wayグラマ認識比較ツールは、コンポーネントの構造、前記コンポーネントの1つ又は複数のプロパティ、前記コンポーネントの1つ又は複数のプロパティデータタイプ、前記1つ又は複数のプロパティの間の関係、前記コンポーネントの階層的性質、及び前記コンポーネントをカスタマイズするためにオーサがどのように作業するかのドメイン知識を捕捉する、請求項66に記載のシステム。
【請求項73】
前記命令は更に、
前記プロセッサによって、前記2-wayグラマ認識比較ツールを使用して、前記第1のコンポーネント及び第3のコンポーネントを比較し、前記第3のコンポーネントは、前記第1のコンポーネントを編集することによって生成され、
前記プロセッサによって、前記第1のコンポーネントと前記第3のコンポーネントとの間の1つ又は複数の差異の第2の比較報告を生成し、
前記プロセッサによって、前記第1の比較報告及び前記第2の比較報告を比較し、
前記プロセッサによって、前記第1の比較報告と前記第2の比較報告との間の1つ又は複数の衝突を一致させる、ように前記システムを構成し、
前記2-wayグラマ認識比較ツールは、実行可能な比較報告を提供するために、メタデータ、構造、及びグラマ知識を活用する、
請求項66に記載のシステム。
【請求項74】
非一時的コンピュータ可読記憶媒体であって、前記コンピュータ可読記憶媒体は命令を含み、前記命令は、コンピュータによって実行されるとき、前記コンピュータに、
プロセッサによって、2-wayグラマ認識比較ツールを使用して、第1のコンポーネント及び第2のコンポーネントを比較させ、前記第2のコンポーネントは、前記第1のコンポーネントを編集することによって生成され、
前記プロセッサによって、前記第1のコンポーネントと前記第2のコンポーネントとの間の1つ又は複数の差異の第1の比較報告を生成させ、
前記第1のコンポーネント及び前記第2のコンポーネントは、1つ又は複数のフリーフォーム表現を含み、
前記2-wayグラマ認識比較ツールは、前記1つ又は複数のフリーフォーム表現の各々をそれぞれのオブジェクトツリーに変換するために、プログラミング言語グラマを使用する、
非一時的コンピュータ可読記憶媒体。
【請求項75】
前記第1のコンポーネント及び第2のコンポーネントは、プログラム、コード、表現、マクロ、埋め込み文書化、ユーザ文書化、試験計画、訓練マテリアル、試験データ、ソリューションパッケージング、及びインストールのうちの少なくとも1つである、請求項74に記載の非一時的コンピュータ可読記憶媒体。
【請求項76】
前記第1のコンポーネント及び第2のコンポーネントは、プログラム、コード、表現、マクロ、埋め込み文書化、ユーザ文書化、試験計画、訓練マテリアル、試験データ、ソリューションパッケージング、及びインストールのうちの少なくとも1つである、請求項74に記載の非一時的コンピュータ可読記憶媒体。
【請求項77】
前記2-wayグラマ認識比較ツールは、前記第1のコンポーネントと前記第2のコンポーネントとの間の各々の変更をタグ付け及び分類する、請求項74に記載の非一時的コンピュータ可読記憶媒体。
【請求項78】
前記2-wayグラマ認識比較ツールは、識別子、代替識別子、ヒューリスティックマッチングルール、プロパティ変更を試験工程にマッピングするためのメタデータ、内部コンポーネント従属性、外部コンポーネント従属性、及び1つ又は複数の差異の報告を提供するためのマッピングヒントのうちの少なくとも1つを使用する、請求項74に記載の非一時的コンピュータ可読記憶媒体。
【請求項79】
前記2-wayグラマ認識比較ツールは、前記第1のコンポーネントと前記第2のコンポーネントとの間の1つ又は複数の差異のビジネス目的を認識する、請求項74に記載の非一時的コンピュータ可読記憶媒体。
【請求項80】
前記2-wayグラマ認識比較ツールは、コンポーネントの構造、前記コンポーネントの1つ又は複数のプロパティ、前記コンポーネントの1つ又は複数のプロパティデータタイプ、前記1つ又は複数のプロパティの間の関係、前記コンポーネントの階層的性質、及び前記コンポーネントをカスタマイズするためにオーサがどのように作業するかのドメイン知識を捕捉する、請求項74に記載の非一時的コンピュータ可読記憶媒体。
【請求項81】
前記命令は更に、
前記プロセッサによって、前記2-wayグラマ認識比較ツールを使用して、前記第1のコンポーネント及び第3のコンポーネントを比較し、前記第3のコンポーネントは、前記第1のコンポーネントを編集することによって生成され、
前記プロセッサによって、前記第1のコンポーネントと前記第3のコンポーネントとの間の1つ又は複数の差異の第2の比較報告を生成し、
前記プロセッサによって、前記第1の比較報告及び前記第2の比較報告を比較し、
前記プロセッサによって、前記第1の比較報告と前記第2の比較報告との間の1つ又は複数の衝突を一致させる、ように前記コンピュータを構成し、
前記2-wayグラマ認識比較ツールは、実行可能な比較報告を提供するために、メタデータ、構造、及びグラマ知識を活用する、
請求項74に記載の非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
複数の産業及び計画システムをターゲットとするビジネスソリューションは、作成し、カスタマイズし、及び維持するのに極端に困難且つ高価である。
【背景技術】
【0002】
一般的な慣習は、ビルディングブロックのセットを作成し、それらを組み立てて、所与の顧客のためにカスタマイズされたソリューションを作成することである。しかしながらこの工程は、大いに手動的である。ビルディングブロックは典型的には、必要とされる機能性のごく一部を網羅し、それによって、多くの機能性ギャップを残し、ソリューションを完了させるために著しい統合エフォートを必要とする。例として、ワークシートを共に組み立てるとき、表現が編集されることが多く、又は複雑なルールが修正されることが多い。それらのタイプのカスタマイズ活動は、手動で実行される必要があり、それらは、大きい割合のソリューション開発コストを構成する。全体的に、ビルディングブロックから複雑なビジネスソリューションを組み立てるアプローチは、小さい割合の手動カスタマイズエフォートのみを削減し、完全なソリューションの文書化、訓練、試験、及び維持コストに対処しないため、効率的でない。
【0003】
例として、サプライチェーン管理は、複雑なビジネスソリューションを必要とする。ビジネスオブジェクト又はリソースの数は、数千の数である場合があり、各々は、異なる産業テンプレート、進展した分析を有するコア機能性エリア、及び追加されたオプションの数と乗算される。それらのアプリケーションを展開及びカスタマイズすることは、気の遠くなるようなタスクである。
【発明の概要】
【発明が解決しようとする課題】
【0004】
時間を節約し、開発、文書化、及び試験エフォートを低減させる、それらのリソースを管理する低リスク、高価でない方法に対する必要性が存在する。本明細書の全体を通じて、リソースは、ビジネスオブジェクトと同義であることを留意されるべきである。
【課題を解決するための手段】
【0005】
本明細書で開示されるのは、低リスク、高価でない方式において、複雑なビジネスソリューションをカスタマイズするルールベースシステム及び方法である。いくつかの実施例では、リソースのベースライン包括的マスタコピー(baseline all-encompassing master copy)が作成される。次いで、顧客の要件を表現する宣言的ルールに基づいて、最終ソリューションを生成するルールベースシステムを使用して、それが簡易化される。マスタコピーを完全に文書化することができ、完全に試験することができ、よって、個々の顧客に対して必要とされる試験、文書化、及び訓練の範囲を大いに低減させる。
【0006】
複雑なビジネスソリューションをカスタマイズするルールベースシステム及び方法の利点は、1つの複雑なマスタコピーが、多数のより単純な、専門化されたビルディングブロック又はサブコンポーネントよりも、維持及び試験するのにはるかに安価であることである。マスタコピーが既に試験されているので、より小さいビルディングブロックから組み立てられた真新しいリソースを試験するよりも、重要である(stripped-down)リソース(全て試験されたマスタコピーから生成された)を試験するために必要とされるエフォートが少ない。
【0007】
慣習的なツール及び方法は、低コード、高構成カテゴリにおいて、非常に複雑なビジネスソリューションをサポートすることができない。本明細書で開示されるのは、全ての能力のスーパーセットを網羅するマスタコピーと、リソース生成/管理ツールと、2-way及び3-wayスキーマ認識比較(schema aware compare)と、を組み合わせるソリューションである。
【0008】
本明細書で開示されるのは、ビジネスオブジェクト及び他のリソースをプログラムで編集するツールである。それは、リソースのマスタコピーを要し、条件及び編集ルールのセットを使用して、それを修正する。ルールは、プログラミングが必要とされないように宣言的である。このようにして、既に作成されたリソースのマスタコピーは、それらのリソースのカスタマイズに関する複雑性の問題に対処するために利用される。いくつかの実施例では、その試験が自動化されてきた。ツールは、低リスク、低コストアプローチを提供することができる。
【0009】
本明細書で開示されるのは、ビジネスソリューションを開発する標準コースに基づいて、ソリューションがどのように確立されるか、及び変更をどのように成文化するかを学習する利点と、それに続いて、コスト、エラー、及び開発時間を低減させる、開発タスクのできる限りの自動化を提供するツールである。
【0010】
本明細書で開示されるのは、コンサルタント及び顧客が、それらが行った変更を、リソースの生成されたコピーと一致させることを可能にする、2-way及び3-way比較マージツールである。
【0011】
本明細書で開示されるのは、低コードソリューションに包含されるフリーフォームコードを分析して、従属性、部分表現、論理分岐、及び表現の構成を識別して、ロバストなコードの報告、比較、及び編集を許容するために、シンタックス認識及び言語文法認識ツールを使用する方法である。これは、コードの自動加工が、振る舞いを改編することができ、又はコードを合理化することができ、又は不要なセクションを取り除くことによって、或る範囲のアクションをサポートすることを許容する。
【0012】
本明細書で開示されるのは、低コードビジネスソリューションに包含されるフリーフォームテキストを分析し、比較し、及び編集するために、進展したテキストマッチング及びパーシングアルゴリズムを使用する方法である。この能力は、支援テキスト若しくはフリーフォームノートとしてリソースに埋め込まれた文書化に、又はビジネスソリューションを伴う別個の文書に記憶された文書化に、自動化されたリソース生成の利点を拡張させる。文書化及び訓練マテリアルは、大きい割合のソリューション開発エフォートを消費する。
【0013】
本明細書で開示されるのは、試験ケースとビジネスソリューション全体を含むリソースとの間の従属性を追跡し、更に、完了したビジネスソリューションを配送する手動エフォートを低減させる方法である。この能力の前提は、定義された試験のセットを有する包括的マスタコピーからカスタマイズされたソリューションが導出されることである。リソースがどのようにカスタマイズされたことから得られた知識に基づいて、試験計画の作成及び管理を自動化することは、ビジネスソリューションを試験するために必要なエフォートを低減させる。
【0014】
本明細書で開示されるのは、ソリューションがどのようにカスタマイズされたかの知識に基づいて、ソリューションのパッケージング及び展開を自動化する方法である。不可欠な有効ピースは、リソースオーサリング、文書化、及び訓練を通じた、工程概要からの、ビジネスソリューションを含む全てのリソースの相互従属性の追跡である。これは、顧客サーバにインストールする準備ができた展開可能リソースパッケージの自動化された作成を許容する。
【0015】
本明細書で開示されるのは、低コードソリューションに包含されるフリーフォームコードを分析して、従属性、部分表現、論理分岐、及び表現の構成を識別して、ロバストなコードの報告、比較、及び編集を許容するために、シンタックス認識及び言語文法認識ツールを使用する方法である。これは、コードの自動加工が、振る舞いを改編することができ、又はフリーフォームコードを合理化することができ、又は不要なセクションを取り除くことによって、或る範囲のアクションをサポートすることを許容する。
【0016】
本明細書で開示されるのは、低コードビジネスソリューションに包含されるフリーフォームテキストを分析し、比較し、及び編集するために、進展したテキストマッチング及びパーシングアルゴリズムを使用する方法である。この能力は、支援テキスト若しくはフリーフォームノートとしてリソースに埋め込まれ文書化に、又はビジネスソリューションを伴う別個の文書に記憶された文書化に、自動化されたリソース生成の利点を拡張させる。文書化及び訓練マテリアルは、大きい割合のソリューション開発エフォートを消費する。
【0017】
本明細書で開示されるのは、試験ケースとビジネスソリューション全体を含むリソースとの間の従属性を追跡し、更に、完了したビジネスソリューションを配送する手動エフォートを低減させる方法である。この能力の前提は、定義された試験のセットを有する包括的マスタコピーからカスタマイズされたソリューションが導出されることである。リソースがどのようにカスタマイズされたことから得られた知識に基づいて、試験計画の作成及び監理を自動化することは、ビジネスソリューションを試験するために必要なエフォートを低減させる。
【0018】
本明細書で開示されるのは、ソリューションがどのようにカスタマイズされたかの知識に基づいて、ソリューションのパッケージング及び展開を自動化する方法である。不可欠な有効ピースは、リソースオーサリング、文書化、及び訓練を通じた、工程概要からの、ビジネスソリューションを含む全てのリソースの相互従属性の追跡である。これは、顧客サーバにインストールする準備ができた展開可能リソースパッケージの自動化された作成を許容する。
【0019】
要するに、効果的な、使用することが容易な比較ツールは、スキーマ認識比較;集合プロパティ、殊に入れ子にされた集合(nested collection)の洗練された扱い;外形の差異に関わらず、2つのアイテムが同一のビジネスオブジェクトであることを認識するための効果的なマッチングアルゴリズム;ユーザヒント及び入力を受け付け、ユーザ決定を持続する能力;ビジネスオブジェクトの構造を反映する構造化された報告;大規模の差異の間(リソースごとの数千の変更の間の)の重要な変更を発見するためのカラーフォーマッティング、タグ付け、及びフィルタリング、を含む。更に、3-way比較における第3のデータポイントとして共通アンセスタを追加することは、変更のソースを識別する。
【0020】
1つの態様では、コンピュータにより実施される方法は、プロセッサによって、2wayスキーマ認識比較ツールを使用して、第1のリソース及び第2のリソースを比較するステップであって、第2のリソースは、第1のリソースを編集することによって生成される、ステップと、プロセッサによって、第1のリソースと第2のリソースとの間の1つ又は複数の差異の第1の低コードプラットフォーム比較報告(low-code platform compare report)を生成するステップと、を含み、2wayスキーマ認識ツールは、第1のリソース及び第2のリソースのスキーマメタデータを比較する。
【0021】
コンピュータにより実施される方法では、2wayスキーマ認識比較ツールは、第1のリソースと第2のリソースとの間の各々の変更をタグ付け及び分類することができる。2wayスキーマ認識比較ツールは、識別子、代替識別子、及びヒューリスティックマッチングルールのうちの少なくとも1つを使用し得る。更に、2wayスキーマ認識比較ツールは、第1のリソースと第2のリソースとの間の1つ又は複数の差異の意図を認識することができる。スキーマメタデータは、リソースの構造、リソースの1つ又は複数のプロパティ、リソースの1つ又は複数のプロパティデータタイプ、1つ又は複数のプロパティの間の関係、リソースの階層的性質、及びリソースをカスタマイズするためにオーサがどのように作業するかのドメイン知識を捕捉することができる。
【0022】
コンピュータにより実施される方法はまた、プロセッサによって、2wayスキーマ認識比較ツールを使用して、第1のリソース及び第3のリソースを比較するステップであって、第3のリソースは、第1のリソースを編集することによって生成される、ステップと、プロセッサによって、第1のリソースと第3のリソースとの間の1つ又は複数の差異の第2の低コードプラットフォーム比較報告を生成するステップと、プロセッサによって、第1の低コードプラットフォーム比較報告及び第2の低コード比較報告を比較するステップと、プロセッサによって、第1の低コードプラットフォーム比較報告と第2の低コード比較報告との間の1つ又は複数の衝突を検出するステップと、プロセッサによって、1つ又は複数の衝突を一致させるステップと、を更に含み得、2wayスキーマ認識ツールは更に、第1のリソース及び第3のリソースのスキーマメタデータを比較する。他の技術的特徴は、以下の図面、説明、及び特許請求の範囲から当業者にとって容易に明らかであり得る。
【0023】
1つの態様では、システムは、プロセッサを含む。システムはまた、命令を記憶したメモリを含み、命令は、プロセッサによって実行されるとき、プロセッサによって、2wayスキーマ認識比較ツールを使用して、第1のリソース及び第2のリソースを比較し、第2のリソースは、第1のリソースを編集することによって生成され、プロセッサによって、第1のリソースと第2のリソースとの間の1つ又は複数の差異の第1の低コードプラットフォーム比較報告を生成する、システムを構成し、2wayスキーマ認識ツールは、第1のリソース及び第2のリソースのスキーマメタデータを比較する。
【0024】
システムでは、2wayスキーマ認識比較ツールは、第1のリソースと第2のリソースとの間の各々の変更をタグ付け及び分類することができる。2wayスキーマ認識比較ツールは、識別子、代替識別子、及びヒューリスティックマッチングルールのうちの少なくとも1つを使用し得る。更に、2wayスキーマ認識比較ツールは、第1のリソースと第2のリソースとの間の1つ又は複数の差異の意図を認識することができる。スキーマメタデータは、リソースの構造、リソースの1つ又は複数のプロパティ、リソースの1つ又は複数のプロパティデータタイプ、1つ又は複数のプロパティの間の関係、リソースの階層的性質、及びリソースをカスタマイズするためにオーサがどのように作業するかのドメイン知識を捕捉することができる。
【0025】
システムはまた、プロセッサによって、2wayスキーマ認識比較ツールを使用して、第1のリソース及び第3のリソースを比較し、第3のリソースは、第1のリソースを編集することによって生成され、プロセッサによって、第1のリソースと第3のリソースとの間の1つ又は複数の差異の第2の低コードプラットフォーム比較報告を生成し、プロセッサによって、第1の低コードプラットフォーム比較報告及び第2の低コード比較報告を比較し、プロセッサによって、第1の低コードプラットフォーム比較報告と第2の低コード比較報告との間の1つ又は複数の衝突を検出し、プロセッサによって、1つ又は複数の衝突を一致させる、ようにシステムを更に構成する命令を含み得、2wayスキーマ認識ツールは更に、第1のリソース及び第3のリソースのスキーマメタデータを比較する。他の技術的特徴は、以下の図面、説明、及び特許請求の範囲から当業者にとって容易に明らかであり得る。
【0026】
1つの態様では、非一時的コンピュータ可読記憶媒体であって、該コンピュータ可読記憶媒体は、命令を含み、命令は、コンピュータによって実行されるとき、コンピュータに、プロセッサによって、2wayスキーマ認識比較ツールを使用して、第1のリソース及び第2のリソースを比較させ、第2のリソースは、第1のリソースを編集することによって生成され、プロセッサによって、第1のリソースと第2のリソースとの間の1つ又は複数の差異の第1の低コードプラットフォーム比較報告を生成させ、2wayスキーマ認識ツールは、第1のリソース及び第2のリソースのスキーマメタデータを比較する。
【0027】
コンピュータ可読記憶媒体では、2wayスキーマ認識比較ツールは、第1のリソースと第2のリソースとの間の各々の変更をタグ付け及び分類することができる。2wayスキーマ認識比較ツールは、識別子、代替識別子、及びヒューリスティックマッチングルールのうちの少なくとも1つを使用し得る。更に、2wayスキーマ認識比較ツールは、第1のリソースと第2のリソースとの間の1つ又は複数の差異の意図を認識することができる。スキーマメタデータは、リソースの構造、リソースの1つ又は複数のプロパティ、リソースの1つ又は複数のプロパティデータタイプ、1つ又は複数のプロパティの間の関係、リソースの階層的性質、及びリソースをカスタマイズするためにオーサがどのように作業するかのドメイン知識を捕捉することができる。
【0028】
コンピュータ可読記憶媒体はまた、プロセッサによって、2wayスキーマ認識比較ツールを使用して、第1のリソース及び第3のリソースを比較し、第3のリソースは、第1のリソースを編集することによって生成され、プロセッサによって、第1のリソースと第3のリソースとの間の1つ又は複数の差異の第2の低コードプラットフォーム比較報告を生成し、プロセッサによって、第1の低コードプラットフォーム比較報告及び第2の低コード比較報告を比較し、プロセッサによって、第1の低コードプラットフォーム比較報告と第2の低コード比較報告との間の1つ又は複数の衝突を検出し、プロセッサによって、1つ又は複数の衝突を一致させる、ように更にコンピュータを構成する命令を含み得、2wayスキーマ認識ツールは更に、第1のリソース及び第3のリソースのスキーマメタデータを比較する。他の技術的特徴は、以下の図面、説明、及び特許請求の範囲から当業者にとって容易に明らかであり得る。
【0029】
1つの態様では、コンピュータにより実施される方法は、プロセッサによって、リソースのマスタコピーからリソースを選択するステップと、プロセッサによって、リソースのワーキングコピーである第1のリソースを作成するステップと、プロセッサによって、第1のリソースを編集し、それによって、第2のリソースを生成するステップと、プロセッサによって、第2のリソースを試験及び検証するステップと、プロセッサによって、第1のリソースを第2のリソースと比較するステップと、プロセッサによって、第1のリソースと第2のリソースとの間の1つ又は複数の差異からレシピファイルを生成するステップであって、レシピファイルは、第1のリソースを第2のリソースに転換するコマンド及び/又は修正の注釈付けられたリストを含む、ステップと、プロセッサによって、レシピファイルを第1のリソースに適用し、それによって、第3のリソースを生成するステップと、プロセッサによって、第3のリソースを第2のリソースと比較するステップと、プロセッサによって、レシピファイルを検証するステップと、を含む。
【0030】
コンピュータにより実施される方法はまた、プロセッサによって、レシピファイル内の修正のリストを注釈付けるステップと、プロセッサによって、注釈付けられたリストをマスタレシピデータベースにマージするステップであって、マスタレシピデータベースは、生成された修正のカタログを包含する、ステップと、プロセッサによって、マスタレシピデータベースを検証して、マスタレシピデータベース内の修正の他の注釈付けられたリストに関して衝突又は不一致がないことを保証するステップと、を含み得る。
【0031】
コンピュータにより実施される方法では、マスタコピーは、文書化及び試験され得、複数の機能性、複数の特徴、及び複数の構成オプションを含み得る。リソースは、ワークブック、ウィジェット、タスクフロー、スクリプト、スコアカード、責任、工程テンプレート、階層、フォーム、フィルタ、ダッシュボード、及びアラートのうちの少なくとも1つを含み得る。更に、いずれかの2つのリソースの間で比較することは、スキーマ認識比較であり得る。いずれかの2つのリソースの間で比較することは、第1のリソース及び第2のリソースのスキーマメタデータを比較し得る。他の技術的特徴は、以下の図面、説明、及び特許請求の範囲から当業者にとって容易に明らかであり得る。
【0032】
1つの態様では、システムは、プロセッサを含む。システムはまた、命令を記憶したメモリを含み、命令は、プロセッサによって実行されるとき、プロセッサによって、リソースのマスタコピーからリソースを選択し、プロセッサによって、リソースのワーキングコピーである第1のリソースを作成し、プロセッサによって、第1のリソースを編集し、それによって、第2のリソースを生成し、プロセッサによって、第2のリソースを試験及び検証し、プロセッサによって、第1のリソースを第2のリソースと比較し、プロセッサによって、第1のリソースと第2のリソースとの間の1つ又は複数の差異からレシピファイルを生成し、レシピファイルは、第1のリソースを第2のリソースに転換するコマンド及び/又は修正の注釈付けられたリストを含み、プロセッサによって、レシピファイルを第1のリソースに適用し、それによって、第3のリソースを生成し、プロセッサによって、第3のリソースを第2のリソースと比較し、プロセッサによって、レシピファイルを検証する、ようにシステムを構成する。
【0033】
システムはまた、プロセッサによって、レシピファイル内の修正のリストを注釈付け、プロセッサによって、注釈付けられたリストをマスタレシピデータベースにマージし、マスタレシピデータベースは、生成された修正のカタログを包含し、プロセッサによって、マスタレシピデータベースを検証して、マスタレシピデータベース内の修正の他の注釈付けられたリストに関して衝突又は不一致がないことを保証する、ようにシステムを更に構成する命令を含み得る。
【0034】
システムでは、マスタコピーは、文書化及び試験され得、複数の機能性、複数の特徴、及び複数の構成オプションを含み得る。リソースは、ワークブック、ウィジェット、タスクフロー、スクリプト、スコアカード、責任、工程テンプレート、階層、フォーム、フィルタ、ダッシュボード、及びアラートのうちの少なくとも1つを含み得る。更に、いずれかの2つのリソースの間で比較することは、スキーマ認識比較であり得る。いずれかの2つのリソースの間で比較することは、第1のリソース及び第2のリソースのスキーマメタデータを比較し得る。他の技術的特徴は、以下の図面、説明、及び特許請求の範囲から当業者にとって容易に明らかであり得る。
【0035】
1つの態様では、非一時的コンピュータ可読記憶媒体であって、該コンピュータ可読記憶媒体は命令を含み、命令は、コンピュータによって実行されるとき、コンピュータに、プロセッサによって、リソースのマスタコピーからリソースを選択させ、プロセッサによって、リソースのワーキングコピーである第1のリソースを作成させ、プロセッサによって、第1のリソースを編集し、それによって、第2のリソースを生成させ、プロセッサによって、第2のリソースを試験及び検証させ、プロセッサによって、第1のリソースを第2のリソースと比較させ、プロセッサによって、第1のリソースと第2のリソースとの間の1つ又は複数の差異からレシピファイルを生成させ、レシピファイルは、第1のリソースを第2のリソースに転換するコマンド及び/又は修正の注釈付けられたリストを含み、プロセッサによって、レシピファイルを第1のリソースに適用し、それによって、第3のリソースを生成させ、プロセッサによって、第3のリソースを第2のリソースと比較させ、プロセッサによって、レシピファイルを検証させる。
【0036】
コンピュータ可読記憶媒体はまた、プロセッサによって、レシピファイル内の修正のリストを注釈付け、プロセッサによって、注釈付けられたリストをマスタレシピデータベースにマージし、マスタレシピデータベースは、生成された修正のカタログを包含し、プロセッサによって、マスタレシピデータベースを検証して、マスタレシピデータベース内の修正の他の注釈付けられたリストに関して衝突又は不一致がないことを保証する、ようにコンピュータを更に構成する命令を含み得る。
【0037】
コンピュータ可読記憶媒体はまた、マスタコピーは、文書化及び試験され、複数の機能性、複数の特徴、及び複数の構成オプションを含む、ことを含み得る。
【0038】
コンピュータ可読記憶媒体はまた、リソースは、ワークブック、ウィジェット、タスクフロー、スクリプト、スコアカード、責任、工程テンプレート、階層、フォーム、フィルタ、ダッシュボード、及びアラートのうちの少なくとも1つを含む、ことを含み得る。
【0039】
コンピュータ可読記憶媒体では、マスタコピーは、文書化及び試験され得、複数の機能性、複数の特徴、及び複数の構成オプションを含み得る。リソースは、ワークブック、ウィジェット、タスクフロー、スクリプト、スコアカード、責任、工程テンプレート、階層、フォーム、フィルタ、ダッシュボード、及びアラートのうちの少なくとも1つを含み得る。更に、いずれかの2つのリソースの間で比較することは、スキーマ認識比較であり得る。いずれかの2つのリソースの間で比較することは、第1のリソース及び第2のリソースのスキーマメタデータを比較し得る。他の技術的特徴は、以下の図面、説明、及び特許請求の範囲から当業者にとって容易に明らかであり得る。
【0040】
1つの態様では、コンピュータにより実施される方法は、プロセッサによって、マスタレシピデータベースから、機能性、特徴、及び構成オプションを選択することによって、効果的なレシピファイルを生成するステップであって、選択することは、ビジネス目的に基づいている、生成するステップと、プロセッサによって、効果的なレシピファイルを、リソースのマスタコピーから選択されたリソースの第1のワーキングコピーに適用することによって、カスタマイズされたリソースを生成するステップと、を含む。
【0041】
コンピュータにより実施される方法では、マスタレシピデータベースは、プロセッサによって、レシピファイル内の修正のリストを注釈付け、それによって、修正の注釈付けられたリストを生み出し、プロセッサによって、修正の注釈付けられたリストをマスタレシピデータベースにマージし、マスタレシピデータベースは、生成された修正のカタログを包含し、プロセッサによって、マスタレシピデータベースを検証して、マスタレシピデータベース内の修正の他の注釈付けられたリストに関して衝突又は不一致がないことを保証する、ことによって生成され得る。
【0042】
コンピュータにより実施される方法では、レシピファイルは、1つ又は複数のレシピファイルアイテムの編纂であり、各々のレシピファイルアイテムは、プロセッサによって、リソースのマスタコピーから選択された第1のリソースのワーキングコピーを作成し、プロセッサによって、第1のリソースのワーキングコピーを編集し、それによって、第2のリソースを生成し、プロセッサによって、第2のリソースを試験及び検証し、プロセッサによって、第1のリソースのワーキングコピーを第2のリソースと比較し、プロセッサによって、第1のリソース及び第2のリソースのワーキングコピーの間の1つ又は複数の差異からレシピファイルアイテムを生成し、レシピファイルアイテムは、第1のリソースのワーキングコピーを第2のリソースに転換するコマンド及び/又は編集の注釈付けられたリストを含み、プロセッサによって、レシピファイルアイテムを第1のリソースのワーキングコピーに適用し、それによって、第3のリソースを生成し、プロセッサによって、第3のリソースを第2のリソースと比較し、プロセッサによって、レシピファイルアイテムを検証する、ことによって生成され得る。いずれかの2つのリソースの間で比較することは、スキーマ認識比較であり得る。いずれかの2つのリソースの間で比較することは、第1のリソース及び第2のリソースのスキーマメタデータを比較し得る。
【0043】
コンピュータにより実施される方法では、マスタコピーは、文書化及び試験され得、複数の機能性、複数の特徴、及び複数の構成オプションを含み得る。
【0044】
コンピュータにより実施される方法では、リソースは、ワークブック、ウィジェット、タスクフロー、スクリプト、スコアカード、責任、工程テンプレート、階層、フォーム、フィルタ、ダッシュボード、及びアラートのうちの少なくとも1つを含み得る。他の技術的特徴は、以下の図面、説明、及び特許請求の範囲から当業者にとって容易に明らかであり得る。
【0045】
1つの態様では、システムは、プロセッサを含む。システムはまた、命令を記憶したメモリを含み、命令は、プロセッサによって実行されるとき、プロセッサによって、マスタレシピデータベースから、機能性、特徴、及び構成オプションを選択することによって、効果的なレシピファイルを生成し、選択することは、ビジネス目的に基づいており、プロセッサによって、効果的なレシピファイルを、リソースのマスタコピーから選択されたリソースの第1のワーキングコピーに適用することによって、カスタマイズされたリソースを生成する、ようにシステムを構成する。
【0046】
システムでは、マスタレシピデータベースは、プロセッサによって実行されるとき、プロセッサによって、レシピファイル内の修正のリストを注釈付け、それによって、修正の注釈付けられたリストを生み出し、プロセッサによって、修正の注釈付けられたリストをマスタレシピデータベースにマージし、マスタレシピデータベースは、生成された修正のカタログを包含し、プロセッサによって、マスタレシピデータベースを検証して、マスタレシピデータベース内の修正の他の注釈付けられたリストに関して衝突又は不一致がないことを保証する、ようにシステムを更に構成する、命令を記憶したメモリによって生成され得る。
【0047】
システムでは、レシピファイルは、1つ又は複数のレシピファイルアイテムの編纂であり、各々のレシピファイルアイテムは、プロセッサによって実行されるとき、プロセッサによって、リソースのマスタコピーから選択された第1のリソースのワーキングコピーを作成し、プロセッサによって、第1のリソースのワーキングコピーを編集し、それによって、第2のリソースを生成し、プロセッサによって、第2のリソースを試験及び検証し、プロセッサによって、第1のリソースのワーキングコピーを第2のリソースと比較し、プロセッサによって、第1のリソース及び第2のリソースのワーキングコピーの間の1つ又は複数の差異からレシピファイルアイテムを生成し、レシピファイルアイテムは、第1のリソースのワーキングコピーを第2のリソースに転換するコマンド及び/又は編集の注釈付けられたリストを含み、プロセッサによって、レシピファイルアイテムを第1のリソースのワーキングコピーに適用し、それによって、第3のリソースを生成し、プロセッサによって、第3のリソースを第2のリソースと比較し、プロセッサによって、レシピファイルアイテムを検証する、ようにシステムを更に構成する、命令を記憶したメモリによって生成され得る。いずれかの2つのリソースの間で比較することは、スキーマ認識比較であり得る。いずれかの2つのリソースの間で比較することは、第1のリソース及び第2のリソースのスキーマメタデータを比較し得る。
【0048】
システムでは、マスタコピーは、文書化及び試験され得、複数の機能性、複数の特徴、及び複数の構成オプションを含み得る。
【0049】
システムでは、リソースは、ワークブック、ウィジェット、タスクフロー、スクリプト、スコアカード、責任、工程テンプレート、階層、フォーム、フィルタ、ダッシュボード、及びアラートのうちの少なくとも1つを含み得る。他の技術的特徴は、以下の図面、説明、及び特許請求の範囲から当業者にとって容易に明らかであり得る。
【0050】
1つの態様では、非一時的コンピュータ可読記憶媒体であって、該コンピュータ可読記憶媒体は命令を含み、命令は、コンピュータによって実行されるとき、コンピュータに、プロセッサによって、マスタレシピデータベースから、機能性、特徴、及び構成オプションのうちの少なくとも1つを選択することによって、効果的なレシピファイルを生成させ、選択することは、ビジネス目的に基づいており、プロセッサによって、効果的なレシピファイルを、リソースのマスタコピーから選択されたリソースの第1のワーキングコピーに適用することによって、カスタマイズされたリソースを生成させる。
【0051】
コンピュータ可読記憶媒体では、マスタレシピデータベースは、コンピュータによって実行されるとき、コンピュータに、プロセッサによって、レシピファイル内の修正のリストを注釈付け、それによって、修正の注釈付けられたリストを生み出させ、プロセッサによって、修正の注釈付けられたリストをマスタレシピデータベースにマージさせ、マスタレシピデータベースは、生成された修正のカタログを包含し、プロセッサによって、マスタレシピデータベースを検証して、マスタレシピデータベース内の修正の他の注釈付けられたリストに関して衝突又は不一致がないことを保証させる、命令によって生成され得る。
【0052】
コンピュータ可読記憶媒体では、レシピファイルは、1つ又は複数のレシピファイルアイテムの編纂であり、各々のレシピファイルアイテムは、コンピュータによって実行されるとき、コンピュータに、プロセッサによって、リソースのマスタコピーから選択された第1のリソースのワーキングコピーを作成させ、プロセッサによって、第1のリソースのワーキングコピーを編集し、それによって、第2のリソースを生成させ、プロセッサによって、第2のリソースを試験及び検証させ、プロセッサによって、第1のリソースのワーキングコピーを第2のリソースと比較させ、プロセッサによって、第1のリソース及び第2のリソースのワーキングコピーの間の1つ又は複数の差異からレシピファイルアイテムを生成させ、レシピファイルアイテムは、第1のリソースのワーキングコピーを第2のリソースに転換するコマンド及び/又は編集の注釈付けられたリストを含み、プロセッサによって、レシピファイルアイテムを第1のリソースのワーキングコピーに適用し、それによって、第3のリソースを生成させ、プロセッサによって、第3のリソースを第2のリソースと比較させ、プロセッサによって、レシピファイルアイテムを検証させる、命令によって生成され得る。いずれかの2つのリソースの間で比較することは、スキーマ認識比較であり得る。いずれかの2つのリソースの間で比較することは、第1のリソース及び第2のリソースのスキーマメタデータを比較し得る。
【0053】
コンピュータ可読記憶媒体では、マスタコピーは、文書化及び試験され得、複数の機能性、複数の特徴、及び複数の構成オプションを含み得る。
【0054】
コンピュータ可読記憶媒体では、リソースは、ワークブック、ウィジェット、タスクフロー、スクリプト、スコアカード、責任、工程テンプレート、階層、フォーム、フィルタ、ダッシュボード、及びアラートのうちの少なくとも1つを含み得る。他の技術的特徴は、以下の図面、説明、及び特許請求の範囲から当業者にとって容易に明らかであり得る。他の技術的特徴は、以下の図面、説明、及び特許請求の範囲から当業者にとって容易に明らかであり得る。
【0055】
1つの態様では、コンピュータにより実施される方法は、プロセッサによって、2-wayグラマ認識比較ツールを使用して、第1のコンポーネント及び第2のコンポーネントを比較するステップを含み、第2のコンポーネントは、第1のコンポーネントを編集することによって生成される。コンピュータにより実施される方法はまた、プロセッサによって、第1のコンポーネントと第2のコンポーネントとの間の1つ又は複数の差異の第1の比較報告を生成するステップを含む。コンピュータにより実施される方法では、第1のコンポーネント及び第2のコンポーネントは、1つ又は複数のフリーフォーム表現を含み、2-wayグラマ認識比較ツールは、1つ又は複数のフリーフォーム表現の各々をそれぞれのオブジェクトツリーに変換するために、プログラミング言語グラマを使用する。
【0056】
コンピュータにより実施される方法では、第1のコンポーネント及び第2のコンポーネントは、コード、表現、マクロ、埋め込み文書化、ユーザ文書化、試験計画、訓練マテリアル、試験データ、ソリューションパッケージング、及びインストールのうちの少なくとも1つであることができる。
【0057】
コンピュータにより実施される方法では、プログラミング言語グラマは、構造化されたテキスト、コード、又はフリーフォームテキストを読み込み、処理し、実行し、又は翻訳するためのパーサジェネレータを使用して捕捉され得る。
【0058】
コンピュータにより実施される方法では、2-wayグラマ認識比較ツールは、第1のコンポーネントと第2のコンポーネントとの間の各々の変更をタグ付け及び分類することができる。
【0059】
コンピュータにより実施される方法では、2-wayグラマ認識比較ツールは、識別子、代替識別子、ヒューリスティックマッチングルール、プロパティ変更を試験工程にマッピングするためのメタデータ、内部コンポーネント従属性、外部コンポーネント従属性、及び1つ又は複数の差異の報告を提供するためのマッピングヒントのうちの少なくとも1つを使用することができる。
【0060】
コンピュータにより実施される方法はまた、2-wayグラマ認識比較ツールは、第1のコンポーネントと第2のコンポーネントとの間の1つ又は複数の差異のビジネス目的を認識する、ことを含み得る。
【0061】
コンピュータにより実施される方法はまた、2-wayグラマ認識比較ツールは、コンポーネントの構造、コンポーネントの1つ又は複数のプロパティ、コンポーネントの1つ又は複数のプロパティデータタイプ、1つ又は複数のプロパティの間の関係、コンポーネントの階層的性質、及びコンポーネントをカスタマイズするためにオーサがどのように作業するかのドメイン知識を捕捉する、ことを含み得る。
【0062】
コンピュータにより実施される方法はまた、プロセッサによって、2-wayグラマ認識比較ツールを使用して、第1のコンポーネント及び第3のコンポーネントを比較するステップであって、第3のコンポーネントは、第1のコンポーネントを編集することによって生成される、比較するステップと、プロセッサによって、第1のコンポーネントと第3のコンポーネントとの間の1つ又は複数の差異の第2の比較報告を生成するステップと、プロセッサによって、第1の比較報告及び第2の比較報告を比較するステップと、プロセッサによって、第1の比較報告と第2の比較報告との間の1つ又は複数の衝突を一致させるステップと、を更に含み得、2-wayグラマ認識比較ツールは、実行可能な比較報告を提供するために、メタデータ、構造、及びグラマ知識を活用する。他の技術的特徴は、以下の図面、説明、及び特許請求の範囲から当業者にとって容易に明らかであり得る。
【0063】
1つの態様では、システムは、プロセッサを含む。システムはまた、命令を記憶したメモリを含み、命令は、プロセッサによって実行されるとき、プロセッサによって、2-wayグラマ認識比較ツールを使用して、第1のコンポーネント及び第2のコンポーネントを比較し、第2のコンポーネントは、第1のコンポーネントを編集することによって生成されるようにシステムを構成する。システムはまた、命令を記憶したメモリを含み、命令は、プロセッサによって実行されるとき、プロセッサによって、第1のコンポーネントと第2のコンポーネントとの間の1つ又は複数の差異の第1の比較報告を生成する、ようにシステムを構成する。システムでは、第1のコンポーネント及び第2のコンポーネントは、1つ又は複数のフリーフォーム表現を含み、2-wayグラマ認識比較ツールは、1つ又は複数のフリーフォーム表現の各々をそれぞれのオブジェクトツリーに変換するために、プログラミング言語グラマを使用する。
【0064】
システムはまた、第1のコンポーネント及び第2のコンポーネントは、プログラム、コード、表現、マクロ、埋め込み文書化、ユーザ文書化、試験計画、訓練マテリアル、試験データ、ソリューションパッケージング、及びインストールのうちの少なくとも1つである、ことを含み得る。
【0065】
システムはまた、第1のコンポーネント及び第2のコンポーネントは、プログラム、コード、表現、マクロ、埋め込み文書化、ユーザ文書化、試験計画、訓練マテリアル、試験データ、ソリューションパッケージング、及びインストールのうちの少なくとも1つである、ことを含み得る。
【0066】
システムはまた、2-wayグラマ認識比較ツールは、第1のコンポーネントと第2のコンポーネントとの間の各々の変更をタグ付け及び分類する、ことを含み得る。
【0067】
システムはまた、2-wayグラマ認識比較ツールは、識別子、代替識別子、ヒューリスティックマッチングルール、プロパティ変更を試験工程にマッピングするためのメタデータ、内部コンポーネント従属性、外部コンポーネント従属性、及び1つ又は複数の差異の報告を提供するためのマッピングヒントのうちの少なくとも1つを使用する、ことを含み得る。
【0068】
システムはまた、2-wayグラマ認識比較ツールは、第1のコンポーネントと第2のコンポーネントとの間の1つ又は複数の差異のビジネス目的を認識する、ことを含み得る。
【0069】
システムはまた、2-wayグラマ認識比較ツールは、コンポーネントの構造、コンポーネントの1つ又は複数のプロパティ、コンポーネントの1つ又は複数のプロパティデータタイプ、1つ又は複数のプロパティの間の関係、コンポーネントの階層的性質、及びコンポーネントをカスタマイズするためにオーサがどのように作業するかのドメイン知識を捕捉する、ことを含み得る。
【0070】
システムはまた、プロセッサによって、2-wayグラマ認識比較ツールを使用して、第1のコンポーネント及び第3のコンポーネントを比較し、第3のコンポーネントは、第1のコンポーネントを編集することによって生成され、プロセッサによって、第1のコンポーネントと第3のコンポーネントとの間の1つ又は複数の差異の第2の比較報告を生成し、プロセッサによって、第1の比較報告及び第2の比較報告を比較し、プロセッサによって、第1の比較報告と第2の比較報告との間の1つ又は複数の衝突を一致させる、ようにシステムを更に構成する命令を含み得、2-wayグラマ認識比較ツールは、実行可能な比較報告を提供するために、メタデータ、構造、及びグラマ知識を活用する。他の技術的特徴は、以下の図面、説明、及び特許請求の範囲から当業者にとって容易に明らかであり得る。
【0071】
1つの態様では、非一時的コンピュータ可読記憶媒体であって、該コンピュータ可読記憶媒体は命令を含み、命令は、コンピュータによって実行されるとき、コンピュータに、プロセッサによって、2-wayグラマ認識比較ツールを使用して、第1のコンポーネント及び第2のコンポーネントを比較させ、第2のコンポーネントは、第1のコンポーネントを編集することによって生成される。非一時的コンピュータ可読記憶媒体はまた、コンピュータによって実行されるとき、コンピュータに、プロセッサによって、第1のコンポーネントと第2のコンポーネントとの間の1つ又は複数の差異の第1の比較報告を生成させる、命令を含む。非一時的コンピュータ可読記憶媒体では、第1のコンポーネント及び第2のコンポーネントは、1つ又は複数のフリーフォーム表現を含み、2-wayグラマ認識比較ツールは、1つ又は複数のフリーフォーム表現の各々をそれぞれのオブジェクトツリーに変換するために、プログラミング言語グラマを使用する。
【0072】
非一時的コンピュータ可読記憶媒体はまた、第1のコンポーネント及び第2のコンポーネントは、プログラム、コード、表現、マクロ、埋め込み文書化、ユーザ文書化、試験計画、訓練マテリアル、試験データ、ソリューションパッケージング、及びインストールのうちの少なくとも1つである、ことを含み得る。
【0073】
非一時的コンピュータ可読記憶媒体はまた、第1のコンポーネント及び第2のコンポーネントは、プログラム、コード、表現、マクロ、埋め込み文書化、ユーザ文書化、試験計画、訓練マテリアル、試験データ、ソリューションパッケージング、及びインストールのうちの少なくとも1つである、ことを含み得る。
【0074】
非一時的コンピュータ可読記憶媒体はまた、2-wayグラマ認識比較ツールは、第1のコンポーネントと第2のコンポーネントとの間の各々の変更をタグ付け及び分類する、ことを含み得る。
【0075】
非一時的コンピュータ可読記憶媒体はまた、2-wayグラマ認識比較ツールは、識別子、代替識別子、ヒューリスティックマッチングルール、プロパティ変更を試験工程にマッピングするためのメタデータ、内部コンポーネント従属性、外部コンポーネント従属性、及び1つ又は複数の差異の報告を提供するためのマッピングヒントのうちの少なくとも1つを使用する、ことを含み得る。
【0076】
非一時的コンピュータ可読記憶媒体はまた、2-wayグラマ認識比較ツールは、第1のコンポーネントと第2のコンポーネントとの間の1つ又は複数の差異のビジネス目的を認識する、ことを含み得る。
【0077】
非一時的コンピュータ可読記憶媒体はまた、2-wayグラマ認識比較ツールは、コンポーネントの構造、コンポーネントの1つ又は複数のプロパティ、コンポーネントの1つ又は複数のプロパティデータタイプ、1つ又は複数のプロパティの間の関係、コンポーネントの階層的性質、及びコンポーネントをカスタマイズするためにオーサがどのように作業するかのドメイン知識を捕捉する、ことを含み得る。
【0078】
非一時的コンピュータ可読記憶媒体はまた、プロセッサによって、2-wayグラマ認識比較ツールを使用して、第1のコンポーネント及び第3のコンポーネントを比較し、第3のコンポーネントは、第1のコンポーネントを編集することによって生成され、プロセッサによって、第1のコンポーネントと第3のコンポーネントとの間の1つ又は複数の差異の第2の比較報告を生成し、プロセッサによって、第1の比較報告及び第2の比較報告を比較し、プロセッサによって、第1の比較報告と第2の比較報告との間の1つ又は複数の衝突を一致させる、ようにコンピュータを更に構成する命令を含み得、2-wayグラマ認識比較ツールは、実行可能な比較報告を提供するために、メタデータ、構造、及びグラマ知識を活用する。他の技術的特徴は、以下の図面、説明、及び特許請求の範囲から当業者にとって容易に明らかであり得る。
【0079】
本明細書の主題の1つ又は複数の実施例の詳細は、以下の添付図面及び説明において示される。主題の他の特徴、態様、及び利点が、説明、図面、及び特許請求の範囲から明らかになるであろう。
【0080】
様々な図面内での同様の参照符号及び指定は、同様の要素を示す。
【0081】
いずれかの特定の要素又は動作の議論を容易に識別するために、参照符号内の最上位桁又は桁(複数可)は、その要素が最初に導入される図の番号を指す。
【図面の簡単な説明】
【0082】
【
図1】一実施例に係る、フローチャート100を例示する図である。
【
図2】一実施例に係る、オペレーション200の実例を例示する図である。
【
図3A】一実施例に係る、「スワップコンポーネント(Swap Component)」オペレーションの実例を例示する図である。
【
図3B】一実施例に係る、「スワップコンポーネント」オペレーションの実例を例示する図である。
【
図4】一実施例に係る、サンプルレシピファイル400を例示する図である。
【
図5】一実施例に係る、比較報告からレシピファイルを作成するフローチャートを例示する図である。
【
図6】一実施例に係る、レシピファイルをマスタレシピデータベースにマージするフローチャートを例示する図である。
【
図7】一実施例に係る、フローチャート700を例示する図である。
【
図8】一実施例に係る、ワークブック800のプロパティの入れ子にされた集合を例示する図である。
【
図9A】4つの単純な変更のためのXML比較報告を例示する図である。
【
図9B】一実施例に係る、4つの単純な変更のスキーマ認識比較を例示する図である。
【
図10】一実施例に係る、スキーマアウェイ比較を作成するためのメタデータの使用を例示する図である。
【
図11A】一実施例に係る、3-wayスキーマ認識比較を例示する図である。
【
図11B】一実施例に係る、3-wayスキーマ認識比較を例示する図である。
【
図12】一実施例に係る、3-way比較報告の実例を例示する図である。
【
図13】一実施例に係る、異なるタイプのコンポーネントの実例を例示する図である。
【
図14】一実施例に係る、フローチャート1400を例示する図である。
【
図15】一実施例に係る、システムのブロック図を例示する図である。
【発明を実施するための形態】
【0083】
例示的な実施例を詳細に例示する、図面に目を向ける前に、説明において示され、又は図面において例示される詳細又は方法論に開示が限定されないことを理解されるべきである。また、用語は、説明のみを目的とし、限定するとして見なされるべきではないことを理解されるべきである。
【0084】
リソース生成/管理ツール
複雑なビジネスソリューションをカスタマイズするルールベースシステム及び方法は、ビジネスソリューションを成す包括的リソースのマスタコピーの使用を含む。マスタコピーを完全に文書化することができ、完全に試験することができる。いくつかの実施例では、多くの産業、計画システム、及び全ての構成オプションを網羅するために必要であるので、そのようなマスタコピーは、非常に大きくなり得、複雑なソリューションを提供し得る。
【0085】
複雑なビジネスソリューションをカスタマイズするルールベースシステム及び方法は更に、ルールのセットの作成を含み、ルールのセットは、i)構成オプションの間の従属性を捕捉し、ii)どのリソース、コンポーネント、及びサブコンポーネントが必要であり、又は排除することができるかを定義する。加えて、システムは、ツールキットによってサポートされるリッチなオペレーションのセットを通じて、ソリューション提示又はビジネスロジックを改編する方法を含む。それらのルールは、宣言的であることができ、プログラミングを必要としない。リソース又はコンポーネントを手動で構成し、それをマスタコピーと比較して、修正を捕捉し、修正を注釈付けることによって、ルールを生成することができる。「注釈付ける」ことは、1つ又は複数のリソース(ビジネスソリューション全体を含む)への各々の変更を、リソース変更が関連するビジネス目標(又は、能力)によりタグ付けし、よって、後のソリューションを確立するときにそれから選ぶ構成オプションのメニューを作成することを意味する。より長い期間にわたって、システムは、ソリューションを確立するために必要なドメイン知識を累積及び成文化し、それから選ぶオプション及びサブオプションの階層にその知識を体系的に編成する。
【0086】
リソースの一部の複製、殊に共有コンポーネントが必要とされ得ることが予期される。ツールキットは、必要に応じて、正確な共有コンポーネントを選択することができ、それをスワップ/挿入することができる。これは、最小のオーバヘッドによりビジネスロジックを改編する方法を提供する(すなわち、一部の共有コンポーネントのいくつかのコピーを維持する)。この「モジュラ」アプローチは、試験の観点から有利である。良好に定義されたサブコンポーネントをスワップすることは、カスタムソリューションを作成する際に典型的には使用されるフリーフォーム変更とは異なり、低リスク、試験可能なアプローチである。ソリューションをどのように修正することができるかに関する何らかの制約を有することと、より少ないエラーによりスケーラブル且つ繰り返し可能な工程のはるかに大きな利点との間にトレードオフが存在する。
【0087】
複雑なビジネスソリューションをカスタマイズするルールベースシステム及び方法は更に、産業、計画パラメータなどの全ての利用可能な顧客オプションを有するルールの注釈を含む。全ての利用可能な構成オプションのメニューから、ユーザは、所与の顧客のために必要とされるそれらの構成を選択し得る。この構成は、文書化として、及び試験計画への入力としての役目を果たすことができる。更に、この構成は、設計決定の記録/ログを構成し得、持続することができ、プロジェクト文書化に追加することができる。
【0088】
複雑なビジネスソリューションをカスタマイズするルールベースシステム及び方法は更に、顧客特有ソリューションを作成するために、マスタコピーに対してルールを適用する、リソースコンフィギュレータツールを稼働させることを含む。新たな要件が発見されるにつれて、構成を調節することができ、修正された構成に基づいて、リソースを再生成することができる。
【0089】
ユーザは、生成されたリソースを手動で更に修正する必要があることが予想される。ツールキットは、手動変更を生成されたリソース及びコンポーネントに比較及び一致させる能力を提供する。
【0090】
ビルディングブロックからソリューションを組み立てることとは異なり、このようにしてリソースを生成することは、リソース編集のほとんどが、必要とされないコンポーネントを簡略化し、マスタコピーから除去することであるので、実行可能なアプローチである。新たなリソース又は新たなコード/表現の生成が必要とされない。
【0091】
リソース管理ツールキットは、注釈付けられた差異(若しくは、レシピ)に基づいて、マスタコピーからより単純な、専門化されたリソースを生成することによって、必要でないピースを剪定することによって、又は制御され且つ繰り返し可能な方式においてリソースをカスタマイズするためにキーピース(共有コンポーネントなど)を改編することによって、この問題に対処する。例えば、システムが、どのサブコンポーネントが、予報外れ値管理(forecast outlier management)など、ビジネスタスクに結び付けられるかを知っている場合、システムは、予報がソリューション範囲の一部でない場合に、それらのサブコンポーネントを発見及び除去することができる。
【0092】
図1は、一実施例に係る、フローチャート100を例示する。フローチャート100は、複雑なビジネスソリューションをカスタマイズする全体工程を説明する。
【0093】
開始ポイントは、特定のビジネスソリューションを成す包括的リソースのマスタコピーである。マスタコピーを完全に文書化することができ、完全に試験することができる。そのようなマスタコピーは、非常に大きくなり得、複雑なソリューションを提供し得る。大きな、複雑なマスタコピーは、多くの機能性、特徴、及びオプションを含むことができる。例えば、ビジネスインテリジェンスツールは、報告又はワークシートのレイアウトを記憶するために、XML構造又は関係データベースを使用することが多い。いくつかの実施例では、マスタコピーは、多くの産業、計画システム、及び全ての構成オプションを網羅する。いくつかの実施例では、リソースは、ワークブック、ウィジェット、タスクフロー、スクリプト、スコアカード、責任、工程テンプレート、階層、フォーム、フィルタ、ダッシュボード、及びアラートを含む。
【0094】
ステップ102において、リソース(又は、ビジネスオブジェクト)が選択され、このリソースが修正される。ステップ104において、選択されたリソースのワーキングコピーが作成される。このワーキングコピーは、カスタマイズの基準としての役割を果たす、「Resource1」とも称される。ステップ106において、Resource1は、そのビジネスロジック又は提示を改編するように編集され、それによって、ステップ108において、カスタマイズされたバージョンを生成する。カスタマイズされたバージョンは、「Resource2」とも称される。Resource2の更なる使用の前に、ステップ106において行われた変更(すなわち、Resource1の編集)は、ステップ110においてResource2が検証されることを保証するように最初に試験される。この工程は、ユースケース、予測された入力及び出力を定義することと、必要とされるビュー及びそれらの提示、視覚化、フォーマッティング、アクション、及び役割ベースの制御、設計を定義すること及び試験を実行することと、など、カスタムソリューションを開発する典型的なステップに従う。いくつかの実施例では、試験ケースは、進行中の回帰試験をサポートするように自動化される。
【0095】
このステージにおいて、必要とされるビジネス目標を達成するために修正される必要がある他のリソースに対し、ステップ102~ステップ110を繰り返すことができる。
【0096】
検証されると、ステップ112において、Resource2は、Resource1(Master Copy内のリソースと同一である)と比較される。ステップ114において、そのような比較は、ソリューションメタデータを生成するために使用され、又はResource1とResource2との間の差異に基づいて、「レシピファイルと」と称される。概して、レシピファイルは、修正が参照するビジネス属性によりタグ付けされた既知の修正の注釈付けられたリストを記述する。以下の
図5において、ステップ112及びステップ114の組み合わせであるブロック124が更に詳細に説明される。
図1を参照して、レシピファイルは、Resource1(Master Copyのワーキングコピー)をResource2に転換するコマンド/編集のリストである。レシピファイル内で発見されるコマンド/編集の実例は、
図2を参照して以下で議論される。
【0097】
ステップ116において、ステップ114において生成されたレシピファイルは、ステップ118において「Resource3」を生成するResource1(Master Copyのワーキングコピー)に適用される。Resource3は、レシピファイル内の差異のリストに基づいて、Master Copy内の元のワークブックから生成された、カスタマイズされたワークブックの第2のコピーである。生成工程(ステップ118における)が正確であることを保証するために、ステップ120において、Resource2とResource3との間で比較が行われる。すなわち、生成されたリソース(Resource3)は、手動でカスタマイズされたリソース(Resource2)と同一であるはずであり、ステップ122において、レシピファイルの検証を結果としてもたらす。レシピファイルを伴う更なる工程が以下で説明される。
【0098】
図2は、一実施例に係る、ワークブックのためのレシピファイルにおけるオペレーション200の実例を例示する。オペレーション200の実例は、ワークブック又はワークシートに適用することができるコマンド/編集の実例である。
【0099】
例えば、基本オペレーション212は、削除及び秘匿など、ワークブックに適用される共通オペレーションをリスト表示し、基本オペレーション212は、「delete column」、「delete worksheet」、「delete variable」、「delete expression section」、「delete component」、「delete command」、「delete drill to detail」、「hide column」、「hide worksheet」、及び「column editable」を含む。
【0100】
更に、データモデルオペレーション210は、ワークブック内のデータモデルに適用されるオペレーションの実例をリスト表示する。データモデルオペレーション210は、スーパーセットを取り、必要なそれらの部分のみを使用し、それによって、複雑度を低減させる。データモデルオペレーション210は、例えば、「rename table」、「rename field」、「delete table」、「delete field」、及び「copy table」を含む。
【0101】
加えて、複雑なオペレーション204は、ビジネスロジックを改編するコマンドをリスト表示し、それらは、「swap component」、「swap library workbook」、「search replace expression」、及び「swap dependent resource」を含む。それらのコマンドのほとんどについて、2つの全体テンプレートを維持する代わりに、ワークブックの2つのコピーが維持される。これは、ソリューション開発、維持、及び試験エフォートの点で、オーバヘッドを低減させる。加えて、簡易さが高められる。例えば、スワップコンポーネントは、つなげられた従属性を変更すること、及びコラムを更新することなどを必要とする。そのような変更は通常、数百のコードのラインを必要とする。これは、単一のコマンド(すなわち、「スワップコンポーネント」)と交換される。「スワップコンポーネント」コマンドは、1つ又は複数のビルディングブロックを他のビルディングブロックと交換する。例えば、データベースクエリにおいて、「スワップコンポーネント」は、1つ又は複数のソーステーブルを交換することができ、又はビューは、1つ又は複数の交換によるクエリである。「スワップコンポーネント」の実例が、
図3A及び
図3Bに示される。
【0102】
オペレーションの他の実例は、ワークブック内の用語を変更し、それによって、様々な産業における可用性を高め、又はリソースのローカライズされたバージョンを他の言語において作成するコマンドをリスト表示するリファクタリングオペレーション208を含む。そのようなコマンドの実例は、「rename columns」、「rename column ID」、「rename worksheet」、「rename worksheet ID」、「rename workbook」、「rename table」、及び「rename field」を含む。
【0103】
パッケージングオペレーション206は、コンポーネントの最終セットに基づいて、最終ソリューションを組み立てることを支援するコマンドのリストを提供し、それらは、例えば、「add resource」、「renameresource」、「add name space」、「add macro」、及び「add profile variable」を含む。
【0104】
予め定義されたオペレーションが、全てのケースを網羅し得ないので、必要に応じて、いずれかのワークブックプロパティを設定するコマンドをリスト表示する汎用オペレーション202も存在する。これは、明確さのために計画されていないユースケースに対処するための拡張性ポイントを提供する。「set workbook property」、「set worksheet property」、及び「set column property」を含む実例が、
図2に示される。
【0105】
図3Aは、一実施例に係る、「スワップコンポーネント」オペレーション300の実例を例示する。
【0106】
Master Copyは、3つのリソースワークシート:Finished Goodsワークシート304、Work in Progressワークシート306、及びRaw Materialワークシート308を有する。
図3Aに示される実施例では、ワークブックは、ワークブックコピーMy Important Partsワークシート302は、Finished Goodsワークシート304及びWork in Progressワークシート306の組み合わせである。したがって、ツールは、大文字「X」314によって表された、Raw Materialワークシート308を安全に削除することができる。Raw Materialワークシート308内の記録は、My Important Partsワークシート302内で使用されていない。
【0107】
My Important Partsワークシート302は、「Name」及び「Type」値が合致するWork in Progressワークシート306からの記録の全てと組み合わされたFinished Goodsワークシート304からの記録の全てにより確立される。これは、Finished Goodsワークシート304からのあらゆるものが使用される、Left Join310接続と呼ばれる。Work in Progressワークシート306に結合することに関して(アイテム312によって示される)、Work in Progressワークシート306からの記録が結合し、「Name」及び「Type]は、Finished Goodsワークシート304内の記録に合致する。
【0108】
この実例では、SwapComponentアクションは、Raw Materialワークシート308によりWork in Progressワークシート306を「スワップ」する。これは、JOIN基準に、コラム表現の1つ(Work in Progressワークシート306を参照するコラム)を変更させ、無効にさせる。SwapComponentコマンドに加えて、レシピファイルは、My Important Partsワークシート302に新たな「RawMaterial!TotalForecast」columnを追加するコマンドを含む。このケースでは、「スワップされる」ワークシートを参照するWork in Progressワークシート306に対するワークシートフィルタが存在しない。しかしながら、そのようなフィルタが存在した場合、それが除去されると共に、それはもはや有効でない。
【0109】
図3AにおけるMy Important Partsワークシート302に適用されるSwapComponentアクションの結果が、
図3Bに示される。スワップが完了した後、それは、Work in Progressワークシート306の代わりに、Raw Materialワークシート308を使用するように結合を変更する。Work in Progressワークシート306は、もはやMy Important Partsワークシート302の一部ではなく、したがって、それは、削除されたとしてマーク付けされる(大文字「X」318によって表される)。
図3Aにあるように、Left Join310接続は、Finished Goodsワークシート304からのあらゆるものを使用する。Raw Materialワークシート308に結合することに関して(アイテム316によって示される)、Raw Materialワークシート308からの記録が結合し、「Name」及び「Type」は、Finished Goodsワークシート304内の記録に合致する。
【0110】
図4は、一実施例に係る、サンプルレシピファイル400を例示する。
図4に示される実施例では、サンプルレシピファイルは、様々な産業のためのマスタサプライチェーン管理テンプレートから導出される。
【0111】
サンプルレシピファイル400は、入れ子にされた一連のカテゴリ:アプリケーション402、リソース404、アクション406、及びパラメータ408を含む。
図4に示されるサンプルレシピファイル400は、特定の顧客又はソリューション又は産業のためのマスタファイルのサブセットである。これは、様々な変更/カスタマイズを分類するために、単純なルールベース注釈をどのように使用することができるかを例示する目的である。概して、複雑なビジネスソリューションは、数千の変形を有する複雑なビジネスオブジェクトを含む。システムは、カスタマイズ及び注釈から学習することができ、エキスパートシステムを構築して、できるだけ多くのタスクを自動化することを支援することができ、それによって、展開するための全体コスト及び時間を低下させる。
【0112】
図4に示される実施例では、カテゴリアプリケーション402は、所与のコマンドを適用するときを指す。アプリケーション402自体は、3つのサブカテゴリ:サプライチェーン管理テンプレートの詳細に関連する、テンプレート(template)、機能性(functionality)、及びオプション(options)を含む。例えば、「template」サブカテゴリは、特定のコマンドが適用される1つ又は複数の産業テンプレートを指す。
図4では、行2は、次のコマンドが3つの産業テンプレートLife Sciences、Automotive、及びHigh Techに適用することを示す。テンプレートカテゴリはまた、どのテンプレート(複数可)が特定のコマンドの影響を受けるべきではないかを示すことをできる。例えば、行6~14は、Life Sciencesテンプレートが、それぞれの行の各々においてリスト表示されたコマンドの影響を受けるべきではないことを示す。
【0113】
加えて、各々の産業テンプレートは、関連する一連の定義された機能性及びオプションを有する。サプライチェーンでは、機能性エリアの実例は、サプライ計画、需要最適化、在庫最適化、及び販売・操業計画(S&OP:sales and operation planning)を含む。行2内の実例を続けて、「Supply」機能性は、行2内のコマンドのためのLife Sciences、Automotive、及びHigh Techテンプレートに適用されるべきではない。別の実例では、行6は、コマンド(行6と関連付けられた)が、Life Sciences産業テンプレートに適用されるべきではなく、「supply」機能性を含むべきではないことを示す。別の実例では、行15は、「supply」機能性は、Life Sciences、Automotive、及びHigh-techテンプレートと共に適用されることになることを示す。
【0114】
最終的に、アプリケーション402は、例えば、「allotment overrides」、「demand segmentation」、及び「machine learning self-healing」など、オプションのサブカテゴリを含む。それらのオプションは、サプライチェーン管理の実施例のために利用可能なタイプの分析を指すことができる。
【0115】
カテゴリアプリケーション402(すなわち、コラム「template」、「functionality」、及び「options」)が指定されると、使用されるリソース404のタイプが指定される。
図4に示される実例では、コマンドの大部分は、ワークブックのためのものであるが、行22及び23は、リソース404がスクリプト及びフォームのそれぞれでもあることができることを示す。
【0116】
リソース404が指定されると、リソース404に適用されるアクション406がリスト表示される。
図2を参照して、ワークシートのためにリスト表示された様々なコマンドが議論されており、それらは、例えば、「delete worksheet」及び「delete column」などを含む。
図2では、より網羅的なリストが提供される。行22を参照して、スクリプトリソースと関連付けられたアクション406を含む非ワークシートアクションは、「remove script argument」である。同様に、行23から、フォームリソースと関連付けられたアクション406も、「remove script argument」である。
【0117】
所与のアクション406と関連付けられたパラメータ408も提供される。
図4では、これは、ワークブック名、ワークシート名、コラム及びアーギュメント名を含む。要するに、リソース404、アクション406、及びパラメータ408は、各々の変更/カスタマイズの詳細を集合的に記述すると共に、アプリケーション402は、ビジネス目的及びグループ関連変更を共に述べるためのその変更を注釈付ける。
【0118】
図5は、一実施例に係る、比較報告からレシピファイルを作成するフローチャート500を例示する。要するに、2way比較は、レシピファイルへの入力として変更のリストを作成し、システムは、一部のマークアップを自動で集合し、チームは、定期的にレビューし、最終タグを追加し得る。
【0119】
図1のブロック124を参照して、
図5は、比較報告からレシピファイルを作成するフローチャート500を例示する。ステップ502において、比較報告を生成するために、2-way(スキーマ認識)比較は、リソース1(マスタコピーのワーキングコピー)及びリソース2(リソース1の編集されたバージョン)に適用される。2-way比較の詳細は、以下で更に議論される。2-way比較の適用の前に、リソース2が試験及び検証されてきた。
【0120】
比較報告は、リソース2に到達するために、リソース1に行われた変更をリスト表示する。それらの変更は、予期されない変更がないことを確証するためにレビューされる。例えば、オーサは、変更を行った場合があり、それらに関して忘れていた場合がある。又は、オーサは、ビジネス目的を達成するために、異なるアプローチを試みた場合がある。工程が反復的であるので、意図しない変更が入ることができる。レビューは、そのような意図しない変更を取り除こうとする。
【0121】
更に、ステップ504において、各々の変更が、ユーザが作業しているビジネス目的に関連することを保証するために、それらの変更がレビューされる。いくつかの実施例では、比較報告は、様々な変更のビューを表示するための、少なくとも6個のタブを有するExcelファイルである。いくつかの実施例では、報告は、10,000~100,000の個々の差異を包含し得る。ツールは、報告から雑音を取り除き、変更を編成/分類して、ビジネスオブジェクトの複雑度及び「可動部分」のボリュームを扱うことを可能にすることを目指す。これは、差異の数を指すだけでなく、変更、従属性などを順序よく並べる(cascading)ことを指す。Excelマルチタブフォーマットは、変更を視覚化及び編成する1つの方法である。
【0122】
リソースの2つのバージョンの比較から単純なレシピファイルを作成する、
図5に示される実例は、エンタプライズクラスソフトウェア及びソリューションのカスタマイズを管理するための、完全に独立したシステムの要件を十分に満たさない。そのようなシステムは、オプションの複数の(例えば、数百の)組み合わせ及びシステムにアクセスする複数の(例えば、数百の)ユーザと共に、複数の(例えば、数百の)バージョン又は複数の(例えば、数千の)リソースの管理を必要とする。したがって、完全システムは更に、マルチユーザ環境内で大規模なリソース変形を管理するように強化することができる。そのような完全システムは、全てのユーザによって実行されるカスタマイズを分析することから生成されたレシピを管理し、カスタマイズを注釈付け及びカタログするためのデータベース/リポジトリと、使用可能な方式においてこのメタデータの必要とされる処理及び提示をサポートするための関連するツールを採用することができる。
【0123】
タブの一部は、リソースの階層的性質-例えば、Workbook->Worksheet->Columnを反映する。タブの一部は、重要な集合への変更に焦点を当てることができる。ワークブックでは、これは、ワークシートのリスト、又はコラムのリストである。いくつかの実施例では、リソースがタスクフロー場合、それは、ステップ及びサブステップのリストである。
【0124】
各々のビジネスオブジェクト(すなわち、リソース)が異なるが、オーサは、それらのビジネスオブジェクトを階層的エンティティとして本質的に考える。2way比較報告は、オーサへの意味のある報告を生み出すために、ビジネスオブジェクトがどのように確立されるかの知識をそれが使用する点で、「スキーマ認識」である。
【0125】
報告も、アクション又は変更ごとのアクション詳細及びアクション要約を生成する。Action Detailは、レシピジェネレータによって使用することを意図され、アクション詳細は、アクションを実行するために必要な全ての詳細及びパラメータを包含する。例えば、新たなコラムがスプレッドシートに追加される場合、詳細報告は、あらゆる関連するコラムプロパティを包含する。Action Summaryは一方で、重要な変更のみを含み、他の変更を要約する。スプレッドシートに追加される新たなコラムの実例では、Action Summaryは、コラムを識別するために十分である、新たなコラムのための1つのエントリ:「Column Added+コラム名及びディプレイヘッダ」のみを包含する。コラムが修正される実例では、比較報告は、それらの変更が何であったかを見るための変更及びリンクのカウントを提供し、いずれかの「雑音」が取り除かれる。
【0126】
ステップ506において、比較報告が注釈付けられる。すなわち、各々の変更は、それが役目を果たすビジネス目的と関連付けられる。変更のリスト単独で、レシピファイルを作成するために十分でなく、各々の変更は、レシピファイルの作成の前に、ビジネス目的と関連付けられるはずである。実例として、オーサは、それらの変更を頻繁にチェックする間、わずかな増分で作業することができ、変更の全てが同一のビジネス目的のためである可能性が高いので、同一のコメントをすべての変更に適用することができる。オーサが同時により多くの変更をチェックインする場合、変更をビジネス目的につなぎ合わせるために、変更がタグ付けされる(すなわち、注釈付けられる)。リソース1とリソース2との間の差異に基づいた、レシピファイルの生成は、
図1のステップ114に対応する。ステップ508において、注釈付けられたレシピファイルがチェックインされる。
【0127】
比較報告からレシピファイルを作成する全体工程を説明するフローチャート500を、更に詳細に解明することができる。上記説明されたのは、オーサがリソースを継続的に編集する工程であり、システムは、オーサが続行するにつれて、変更を学習及びカタログし、リソースをカスタマイズするエキスパートシステムに効果的になる。概して、オーサは、マスタコピーのワーキングコピー(例えば、
図1のステップ102)又はリソースの既知のバージョンを開始ポイントとして取得する。ここで、「既知のバージョン」は、リソースがどのリポジトリから由来するか、及び起点がどのようにマスタコピーに関連するかを指す。あらゆるオーサがマスタコピーにより開始するわけではなく、オーサは、そのコピーの起源がMaster Copyに追跡可能である限り、いずれかのコピーにより開始することができる。方法が、リソースの各々の編集において行われた増分的変更を処理するので、リソースのいずれかのバージョンにより開始することが優れている。
【0128】
この段階において、オーサは、修正するリソース(複数可)をチェックアウトする(それがMaster Copyのワーキングコピー又はリソースのバージョンであるかどうか)。オーサは次いで、タスクに対して作業し、リソースに対して1つ又は複数の変更を行い、次いで、コメントをチェックイン及び適用する。コメントは典型的には、変更が何のためかを指定するタスクへの参照を含む。いくつかの実施例では、タスクへの参照は、JIRA(商標)ソフトウェアを使用して行うことができる。タスクは、文書化、要件、仕様、試験計画などへのリンクを有し得る。これは、チケット番号を捕捉するために有益にする。いくつかの実施例では、あらゆるチェックインがJIRAタスク/チケット番号により開始する要件がある。実例として、それは、以下のフォーム:「RRP123456-増分的可用性を計算するための追加された新たなコンポーネントワークシート」を有する。すなわち、チケット番号に、1ラインの記述が提供される。リソースのワーキングコピーに行われた変更ごとにこれを生成することができる。上記議論されたように、システムは、特定の期間の後(例えば、プロジェクトの完了の後、又は2週間ごと、又はいずれかの他の通常の期間)、変更の全てを採取することができる。いくつかの実施例では、採取することは、あらゆるチェックインを処理することを伴い、その間、リソースが比較され、レシピへの入力として使用される変更のリストが生成され、各々の変更がタイムスタンプ、ユーザid、ワークチケット、又はバグ報告、及び変更の1ラインの記述の捕捉によりタグ付けされる。システムはまた、報告内でリンクをセットアップすることができ、よって、必要な場合、JIRAチケットを開くことができ、レビューすることができる。
【0129】
システムは更に、変更を分析することができる。いくつかの実施例では、システムは、破綻する場合がある変更を発見し、例えば、オーサが、変更を実施するためのいくつかの試みを行い、更に気が変わった場合がある。同一のプロパティを複数回変更させる代わりに、システムは、元の値及び採取するための期間の終わりでの値のみを見る。これは、編集工程における雑音を除去する。いくつかの実施例では、システムは、その後手動で解決される、いずれかの潜在的な衝突を発見する。
【0130】
いくつかの実施例では、チームは、変更のリスト及び自動で集合された注釈のみをレビューする必要があり、誤ってラベル付けされ得たチェックインと、一部の関連しない変更を有し得、正確にタグ付けされなかったチェックインとを探索する。差異を2つのチェックインに分割すること、又は各々の差異を正確なビジネス目的によりタグ付けすることができる。ビジネス目的及び変更のために意味を成す限り、タグのいずれかのフォームを使用することができる。効果的なレシピファイルを使用してリソースを生成するとき、タグは後に、メニューアイテムのセットとしての役目を果たすことができる。いくつかの実施例では、タグは、階層的である。
【0131】
タグ付けされると、レシピファイルは、マスタレシピデータベースとマージされ、いずれかの衝突(マスタレシピデータベースとの)が解決される。
【0132】
図6は、一実施例に係る、レシピファイルをマスタレシピデータベースにマージするフローチャート600を例示する。
【0133】
いくつかの編集及び変更を通じてリソースがマスタコピーからカスタマイズされるので、所与のリソース(すなわち、ビジネスオブジェクト)をどのようにカスタマイズするかの未収の知識を累積及びカタログすることが有利である。進行中のカスタマイズからの変更をマスタレシピデータベースにマージすることによってこれを達成することができる。しかしながら、変更が矛盾する目的を有し得、類似のプロパティに接触し得ることを覚えておくべきである。したがって、レシピファイルをマスタレシピデータベースにマージするとき、レシピファイルは、矛盾又は衝突のために最初に分析される。そのような分析、及び後続のマージは、単一のチェックインされたレシピファイルに対して実行され得ると共に、不要なオーバヘッドを最小にするために、そのようなアクションを定期的又はビジネス頻度で実行することが望ましい。例えば、プロジェクトスプリントの終わりに、又は定期間隔で(例えば、2週間ごとくらいで)レシピファイルのマージを行うことができる。
【0134】
図6を参照して、階層的タグ付けシステムが設計される。リソースのマスタコピーからリソースを生成するとき、タグは、メニューとしての役割を果たすことができる。これは、
図7内のステップ708において更に詳細に説明される。リソース構造に適合するいずれかの階層的コンベンションを取り入れることができる。
【0135】
ステップ604において、所与のレシピファイル内の全ての変更が正確に注釈付けられることをチェックすることによって、及び変更に起因して衝突がないことを保証することによって、マージされている各々のレシピファイルが検証される。
【0136】
ステップ606において、検証されたレシピファイル(複数可)は次いで、マスタファイルデータベースにマージされる。これは、マスタレシピデータベース内の他のレシピとの衝突についてチェックすることと、注釈の一貫性及び完全性を検証することと、可能であるときに変更を破綻させることと(実例として、所与のプロパティが複数回変更された)、必要である場合、関連しない変更を分割することと、などのいくつかのサブステップを含む。
【0137】
ステップ608において、以下のように、まとめられた変更が試験される。効果的なレシピファイルは、マスタレシピデータベースから生成され(所与の顧客のために選択されたオプションに基づいて)、効果的なレシピファイルは、マスタレシピデータベースにちょうど追加された、全ての注釈付けられた変更を含む。効果的なレシピファイルは次いで、カスタマイズされたリソースを生成するために、リソースのMaster Copyに適用される(
図1のステップ116及びステップ118を参照)。2-way比較は次いで、2つのリソースが合致することを保証するために、生成されカスタマイズされたリソースとリソース2との間で行われる(
図1のステップ120を参照)。
【0138】
試験がステップ608において完了すると、レシピは、ステップ610においてまとめられる。レシピファイルがマージされると、リソース(複数可)の最新のコピーは、進行中の開発のために、比較のための参照ポイントとしての役目を果たす。変更の起源が追跡される(エビデンスのチェーンとよく似ている)。
【0139】
図7は、一実施例に係る、フローチャート700を例示する。フローチャート700は、Master Copyからのカスタマイズされたリソースの生成を説明する。
【0140】
顧客プロジェクトのためのビジネスソリューションは、1つ又は複数のリソースを含むことができる。それらのリソースは、ステップ702においてMaster Copyから選択される。いくつかの実施例では、Master Copyは、いくつかの異なる産業に向けられ、その各々は、別々のサプライチェーンを有し、リソースは、ワークブック、ウィジェット、タスクフロー、スクリプト、スコアカード、責任、工程テンプレート、階層、フォーム、フィルタ、ダッシュボード、及びアラートを含む。
【0141】
各々の選択されたリソースのワーキングコピーは、ステップ704において作られる。リソースが選択されると、ステップ706において、マスタレシピデータベース内で利用可能な選択肢から、機能性、特徴、及びオプションを選択するために、マスタレシピデータベースが使用される。それらのコア機能性内で、追加のオプションが存在することができる。通常、数百の組み合わせ-組み合わせのセットごとにそれほど多くの異なるテンプレートを維持するために実現可能でない、明確なインジケーションが存在する。いくつかの実施例では、顧客の産業、選択された産業の1つ又は複数の機能性エリア、及びキー計画パラメータを選択するために、マスタレシピデータベースを使用することができる。産業の実例は多数であり、ライフサイエンス、ハイテク、航空、防衛、自動車などを含む。サプライチェーンでは、機能性エリアの実例は、サプライ計画、需要最適化、在庫最適化、及び販売・操業計画(S&OP)を含む。
【0142】
ステップ706における選択に基づいて、ステップ708において、効果的なレシピファイルは、マスタレシピデータベースから選択される。効果的なレシピファイルは、達成することを試みるビジネス目的に基づいた全ての可能な変更のサブセットを含み、すなわち、効果的なレシピファイルは、特定の顧客プロジェクトに関連するそれらの修正のみを包含する。実例として、1つのビジネス目的は、起源の国における賞味期限及び部品調達制約を有する連続した製造工程を使用する製薬会社のための在庫計画であることができる。異なるビジネス目的は、別個の製造を行い、多段階の部品調達最適化を実行し、それが契約製造者であるから、代替的なコンポーネント及びプール在庫を可能にする、ハイテク会社のための在庫計画であることができる。それらは、関連するビジネスケースであり、その各々は、実現のために、劇的に異なるビジネスロジック及び提示を必要とする。各々のビジネス目的は、特定の産業リソーステンプレート(薬品又はハイテク)及び各々に対するキー計画パラメータの選択などのコマンドを含む、それ自身の効果的なレシピファイルを有する。ビジネス目的ごとのビジネスソリューションは、ビジネス目的ごとの効果的なレシピファイルを最初に生成し、次いで、効果的なレシピファイルをマスタコピーから生成された(ステップ702及びステップ704)各々のリソースファイルのワーキングコピーに適用することによって、単一のマスタコピーから生成される。
【0143】
ステップ712においてカスタマイズされたリソースを生成するために、ステップ710において、効果的なレシピファイルは、リソースのワーキングコピーに適用される。
【0144】
ステップ714において、更なるカスタマイズのための有効な開始ポイントを保証するために、効果的なレシピファイルに基づいて識別された適用可能な自動化試験が実行される。ツールキットからの出力は通常、完成されたカスタムソリューションを与えない。代わりに、最終的なカスタマイズにできるだけ近い開始ポイントが提供される。例えば、組織が新たな産業などの新たなドメインに入るとき、ソリューションは、最初に完全にカスタマイズされ得る。しかしながら、後続の顧客のために、マスタレシピデータベースに追加されたマスタコピー及び注釈に、カスタマイズをひとまとめにすることができる。それらのステップは、新たなドメインの一意な態様のための知識を追加し、類似の顧客のための後続のソリューションの作成をより安価、高速、且つ繰り返し可能にし、それによって、コンピュータオペレーション並びにソリューション開発及びカスタマイズの効率性を増大させる。
【0145】
最終的に、ステップ716において、必要に応じて、追加の修正がカスタマイズされたリソース(ステップ712において生成された)に対して行われる。効果的なレシピファイルは、ソリューションをどのようにカスタマイズするか、マスタコピーのどの部分が機能性のどのユースケースに関連するかなどに関する知識を包含するメタデータである。集合されたメタデータは、リソース及びコンポーネント従属性を含む。カスタマイズされたリソースのセットを生成することの副産物は、全体的な一続きの試験に包含されるどの試験を実行することができるか、及びそれらが提供する試験範囲が何であることができるかを識別する、試験計画を提供する。同様に、ソリューション文書化の一部をも、自動生成することができる。
【0146】
要するに、上記説明されたルールベースシステム及び方法は、人々が通常のように作業を続ける場合の工程に適用し、システムは、変更を学習及びカタログし、リソースをカスタマイズするためのエキスパートシステムに実質的になる。
図1の変形では、オーサは、マスタコピー、又はリソースの既知のバージョンを開始ポイントとして取得し、開始ポイントから、変更を行う。「既知のバージョン」は、リソースがどのリポジトリから由来することができるか、及び起点がマスタコピーにどのように関連するかに関する情報を含むことができる。いくつかの実施例では、どのオーサもMaster Copyにより開始するわけではなく、代わりに、そのコピーの起源がMaster Copyに追跡可能である限り、オーサは、いずれかのコピーにより開始することができる。システム及び方法が各々の編集内で行われた増分的変更に焦点を当てるので、いずれかのコピーにより開始する問題はない。
【0147】
いくつかの実施例では、オーサは、修正するリソース(複数可)をチェックアウトし、オーサは、タスクに対して作業し、1つ又は複数の変更を行う。オーサは次いで、修正されたリソースをチェックインし、コメントを適用する。コメントは、変更が何のためのものであるかを指定するタスクへの参照を含むことができる。タスクは、文書化、要件、仕様、試験計画などへのリンクを有することができる。タスクをチケット番号にリンク付けることができる。例えば、チェックインは、「RRP123456-増分的可用性を計算するための追加された新たなコンポーネントワークシート」など、チケット番号及びタスク記述を有することができ、「RRP123456」は、チケット番号であり、「増分的可用性を計算するための追加された新たなコンポーネントワークシート」は、タスクの1ラインの記述を提供する。最も実用的な状況では、そのような修正は、固定期間にわたって発生する。システム及び方法は、リソースを比較することと、変更のリストをレシピファイルのための入力として生成することと、タイムスタンプ、ユーザid、ワークチケット、又はバグ報告により各々の変更をタグ付けすることと、変更の1ラインの記述を捕捉することと、を含むことができる、チェックインごとに処理することによって、固定期間にわたって行われた変更のリストを採取する。ツールは、ワークチケット又はバグ報告が言うもの1ラインの記述を取り出す。ツールは、報告内でリンクをセットアップすることができ、その結果、必要な場合、チケットを開くことができ、レビューすることができる。
【0148】
加えて、ツールは、いくつかの方法において変更を分析することができる。例えば、ツールは、破綻する場合がある、変更を発見することができ、すなわち、オーサは、実施するためのいくつかの試みを行い、気が変わった場合がある。プロパティ内で複数の変更を文書化する代わりに、ツールは、元の値、及び固定期間の終わりでの最終値のみを検査する。更に、ツールは、手動で解決し得る、変更の間のいずれかの潜在的な衝突を発見することができる。
【0149】
完了のために、変更のリスト及び自動で集合された注釈は、チームによってレビューされ得る。可能性がある不一致は、誤ってラベル付けされたチェックインを探索することと、1つ又は複数の関連しない変更を有しており、それに従ってタグ付けされなかったチェックインを見ることと、意味を成すタグを追加することと(タグは、リソースを生成するときにメニューアイテムのセットとしての役目を果たすことができ、タグは、階層的であるべきである)、を含むことができる。
【0150】
タグ付けされると、レシピファイルは、マスタレシピデータベースとマージされるべきであり、いずれかの衝突が解決されるべきである。この工程を仮定すると、2-way比較(以下で議論される)は、変更のリストをレシピファイルへの入力として作成し、ツールは、1つ又は複数のマークアップを自動で集合し、タグは、必要に応じて手動でレビュー及び更新される。いくつかの実施例では、タグ及び注釈は、階層的に編成される。
【0151】
オーサがリソースのコピーを生成すること(又は、再生成すること)を計画するとき、ダイアログをオーサに提供することができ、ダイアログは、マスタレシピデータベース内のすべてのタグを示して、入力としてそれが与えられた全ての修正からシステムが学習することが可能であった選択肢のリストをオーサに与える。オーサが、自分たちが望むオプション/サブオプションを選ぶと、オーサのチョイスの通りにカスタマイズされたリソースのセットを作成するために、効果的なレシピファイルが生成及び使用される。ダイアログ内のチェックボックスは、オーサがカスタマイズされたリソースに含めることを望んだものの文書化としての役割を果たすことができ、チェックボックスは、生成されたリソースのためのマニフェストとしての役目を果たす。
【0152】
2-WAY及び3-WAYスキーマ認識比較ツール
低コードプラットフォームは、コードを記述するための構成を置き換え、よって、ビジネスユーザが、プログラミングスキルを必要とすることなく、かなり複雑なアプリケーションを確立することを有効にする。実例として、低コード開発プラットフォーム(LCDP:low-code development platform)は、慣習的な手作業でコーディングされたコンピュータプログラミングの代わりに、グラフィカルユーザインタフェース及び構成を通じてアプリケーションソフトウェアを作成するために使用される開発のための環境を提供する。例えば、スプレッドシートプログラム(Excel(商標)及びその関連するPivot関数など)のユーザは、数個のコラム表現及びフィルタ表現を記述することによって、複雑なアプリケーションを確立することができる。SalesForce(商標)、Wordpress(商標)、Excel(商標)、及びTalend(商標)など、本分野において既知のいくつかの低コードプラットフォームが存在する。
【0153】
コンピュータコードに対して単純であるが、低コードプラットフォーム(LCP:low code platform)はなおも、複雑なアーチファクトを生み出し得る。一部のコード/表現がそれらのアーチファクト内に埋め込まれ得ると共に、それらのアーチファクトは主として、非常に構造化され且つ複雑である場合があるメタデータである。それらのアーチファクトの数個の特性は、以下の通りである;複数の、相互接続された、複雑なビジネスオブジェクトであり;それらをXMLとして記憶することができ;バイナリラージオブジェクト(BLOB:binary large object)として、又は相互接続されたオブジェクトとしてそれらをデータベースに記憶することができ;通常はプロパティシート又はカスタムオーサリングユーザインタフェースにより、グラフィカルユーザインタフェース(GUI:graphical user interface)を使用してそれらを開発することができ;それらは、ビジネスオブジェクトの多段階の入れ子を含むことができる。複雑度は別にして、それらのオブジェクトは、XMLスキーマ、DBモデル、及び検証ルーチンによって高度に構造化及び支持される。
【0154】
LCPは、異なるタイプのオブジェクト(又は、リソース)を含むことができ、その実例は、ワークブック、ダッシュボード、ウィジェット、タスクフロー、階層、フィルタ、スケジュールされたタスク、アラート、注釈チェーン、フォーム、及びスクリプトを含む。いくつかの実施例では、タスクフローは、訓練を指す。いくつかの実施例では、オブジェクトタイプは、工程テンプレート及び責任テンプレートを含み、その両方は、協調ベースオブジェクトタイプである。LCPソリューションは、何千を超える標準リソースを有し、何万を超える内部従属性を有して、複雑である場合がある。
【0155】
実例として、ワークブックは、LCP内でより複雑なビジネスオブジェクトの1つである。それは、数百の、又は更には、数千のプロパティを有することができる。ワークブックは、複雑な、深く入れ子にされた構造であり、ワークブックは、複数のワークシートから構成され、その各々は、一連のコラムを有する。ワークブックの各々のレベルは、深く入れ子にされたプロパティ又はプロパティの集合を有する。それらは、一部の表現(例えば、コラム、フィルタ、条件)を含み得るが、ワークブックは、主に別個のプロパティから構成される。更に、プロパティは、相互従属であり得る。サプライチェーン管理LCPのいくつかの実施例では、数百万のワークシート及び数千万のコラムを有する、何十万のワークブックが存在する。
【0156】
図8は、一実施例に係る、ワークブック800のプロパティの入れ子にされた集合を例示する。
【0157】
ワークブックを比較する際に最大の課題の1つは、ワークブックと関連付けられたプロパティの入れ子にされた集合を比較することにある。
図8では、入れ子にされたプロパティの複雑な性質が、4段階の深く入れ子にされた集合プロパティの実例のフォームにおいて示される。ワークブックのプロパティの第1のセットは、各々のワークシートのアイデンティフィケーション(ID)及び名前を有する、ワークシートの順序付けられたリスト802を含む。この実例では、ワークシート「Supply Demand Summary(Due Date)」が更にハイライトされ、そのプロパティ804が示される。ワークシートのプロパティ「columns」がハイライトされ、ワークシート内のコラムの順序付けられたリスト806が、各々のコラムのIDに沿って示される。コラムの順序付けられたリスト806では、エントリ「Expiry Risk」がハイライトされ、よって、プロパティのリスト808を示す。明確な識別子を有さない、詳細ドリルの順序付けられたリスト810を示す、タブ「Drilling」がハイライトされる。最終的に、ソース及びターゲットIDを有する、マッピングの順序付けられたリスト812を示す、ラベル「ExpiryRisk」がハイライトされる。
【0158】
2-Wayスキーマ認識比較ツール
オブジェクトを比較するための相対的に単純な方法を提供するソリューションは、スキーマ認識である比較ツールを提供することである。それに沿ってフィールドが集合内のアイテムを識別する、オブジェクトの構造及びその内部従属性と、追加のスキーマメタデータを理解することによって、これが達成される。比較ツールは次いで、適切に、2つのオブジェクトの間の差異を解釈することができ、ユーザの変更の意図を認識することができ、はるかに単純な比較報告を提供する。
【0159】
スキーマ認識比較ツールは、その報告内の雑音を大いに低減させることができると共に、ユーザの変更の意図を適切に認識する。スキーマ認識比較ツールは、2つのアイテムが同一であることを認識するために、識別子、代替的な識別子、又はヒューリスティックマッチングルールを使用し、それに従って報告する。それは、ユーザから、アイテムに合致するマッピングヒントを受け付けることができる。それはまた、ビジネスオブジェクトの階層的性質を扱うことができ、明確な報告を生み出すことができる。それは、容易にフィルタアウトすることができる、順序よく並べられた追加/削除オペレーションを識別することができる。例えば、ワークシートが削除されるとき、そのコラム及び関連するプロパティの全ても削除される。スキーマ認識比較ツールは、変更をタグ付け及び分類して、オーサが、オーサのために何が重要であるかに焦点を当てること、例えば、ビジネスロジックに焦点を当て、報告から全てのフォーマッティング/表示変更を除去することを可能にする。
【0160】
図9Aは、XML比較報告900又は4つの単純な変更を例示する。
【0161】
4つの単純な変更は、1)変数「MaxLevel」を削除すること;2)1つの新たな変数を追加すること;3)変数「ShowItems」をリネームし、それをリストの下方に移動させること;及び4)変数「ModelSet」を修正して、新たな予報オプションを追加すること、である。標準的なXML比較報告900は、4つの単純な変更を確認するために、ユーザがそれを通じてやり通す必要がある差異(又は、「雑音」)の数ページを含む。
【0162】
そのような雑音は、能動的に修正されており、沢山の変更を有するリソースを比較するときに使用可能でない標準的な比較ツールによって提供される差異報告をレンダリングする。例えば、顧客によって補正されたカスタマイズされた計画シートとの標準的な計画シートの比較は、25,000を上回る差異を有する場合がある。そのようなシステムのための差異の報告を解読し、まして生み出すことは、手に負えず不可能である。
【0163】
図9Bは、
図9Aに示されたXML比較報告900内で示された同一の4つの単純な変更のスキーマ認識比較902を例示する。バージョン「A」は、リソースの元のバージョンであり、バージョン「B」は、補正されたリソースを指す。
【0164】
スキーマ認識比較902の目標は、オーサの意図を認識し、それに従ってそれを報告すると共に、正規の比較ツール(例えば、
図9Aの比較報告900に示されるようなXML)に影響を及ぼすフォルスポジティブによって生じた雑音を除去することである。
【0165】
図9Bに示される実施例では、スキーマ認識比較902は、
図9Aに示された標準的なXML比較報告900からの差異の数ページと比較して、オーサによって行われた4つの変更を検出及び報告することができる。
【0166】
コラムA 904は、「A」から「B」へと、各々のアクションを要約する。リスト表示された4つのタイプのアクション:削除済み、修正済み、追加済み、及び「変更なし」が存在する。
【0167】
例えば、変数「RR_Analytics_WhereConsumedForSupply_MaxLevel」(行5)は、コラムA 904内の対応する「Delete」エントリによって示されるように(及び、アイテム906によってハイライトされる)、削除されている。それは、コラムE 914(「A」内の変数の値が示される)に存在するが、コラムF 916(「B」内の変数の値が示される)には存在しない。変数が削除されるだけでなく、変数の記述(行6);変数の可視性(行7);ツールバー上の変数アイコンの可視性(行8);変数のデフォルトの値(行9);変数のデフォルトの値が常に使用されるかどうか(行10);及び変数のデフォルトの値が全てのワークブックにわたって持続するかどうか(行11)、などの変数と関連付けられた属性(行6~11)も削除される。
【0168】
別の実例では、変数「RR_Analytics_New_Variable」(行14)は、コラムA 904内の対応する「Added」によって示されるように(及び、アイテム908によってハイライトされる)、追加されている。この変数は、コラムE 914に存在しないが、コラムF 916に存在する。新たな変数が追加されるだけでなく、新たな変数の記述(行16);新たな変数の可視性(行17);ツールバー上の新たな変数アイコンの可視性(行18);ツールバー上の新たな変数ラベルの可視性(行19);ツールバー上の新たな変数アイコンの可視性(行20);新たな変数のデフォルトの値(行21);及び変数のデフォルトの値が全てのワークブックにわたって持続するかどうか(行22)、などの変数と関連付けられた属性(行15~22)も追加される。
【0169】
別の実例では、変数「ShowItems」(行25)は、コラムA 904内の対応する「Modified」エントリによって示されるように(及び、アイテム910によってハイライトされる)、リネームされている。変数がリネームされているだけなので、その属性は修正されていない。
【0170】
最終的に、変数「ModelSet」(行26)は、コラムA 904内の対応する「Modified」エントリによって示されるように(及び、アイテム912によってハイライトされる)、修正される。変数「ModelSet」の修正は更に、行27~34内で詳細に表される。行27に従って、コラムE 914及びコラムF 916内の対応するエントリに示されるように、変数の記述が修正されている。行28に従って、ツールバー上の変数ラベルの可視性も、「True」から「False」に変更されている。変数と関連付けられた固定値リストは、行29に従って変更されている。行30~33によって示されるように、新たな予報オプションが追加されている。最終的に、行34に従って、変数のデフォルトの値が修正されている。
【0171】
図10は、一実施例に係る、スキーマアウェイ比較を作成するためのメタデータの使用を例示する。
【0172】
メタデータの実例1000では、メタデータ1004は、標準的なXMLスキーマ1002又はデータベーススキーマを超え、オブジェクト構造、プロパティ、プロパティデータタイプ、及び関係だけでなく、オーサ又はビジネスコンサルタントが顧客のためのソリューションを作成するためにソフトウェアとどのように作用するかを統治する「ドメイン知識」をも捕捉する。メタデータ1004は、オーサによって認知されるように、ソリューションのメンタルモデルに合致することが意図される。これは、例えば、以下を含む。
【0173】
i)キーコンポーネントレベルを識別する、プロパティの順序付けられたリスト、ビジネスオブジェクトの階層的性質を捕捉する。例えば、ワークブック、ワークシート、コラムである。これは、オーサリング経験に合致する比較報告を編成し、各々のキー階層レベルにおいて変更を要約する(いくつかの実施例では、ワークブック、ワークシート、コラムのように);
【0174】
ii)それらの目的を識別するためのカテゴリ、サブカテゴリ、機能的グループ-タグプロパティ。例えば、「Data」タグは、計算に影響を及ぼすプロパティを示すと共に、「Display」は、データがどのように存在するかに影響を及ぼすプロパティを示す。これは、オーサが、報告フォーマッティングをレビューする前に、比較報告を容易にフィルタして、ビジネスロジックなど、関心の変更に迅速に焦点を当てることを可能にする;
【0175】
iii)プロパティを編成し、よって、それらは、オーサリングツールの本質的な順序:左→右、上→下、に倣う。これは、報告に本質的なフローを与える;
【0176】
iv)オーサリングUIにマッピングし、同一の用語を使用し、ワークブック又はワークシートなどのビジネスオブジェクトを構成することに関与するスクリーン及びダイアログにマッピングする;
【0177】
v)親プロパティ及び従属性-プロパティの間の従属性を捕捉する(例えば、親チェックボックスが選択されない場合、それらがリソース定義に記憶された場合でさえ、子プロパティが無視されるべきである);
【0178】
vi)プロパティが修正される場合の効果を順序よく並べる、検証ツール;
【0179】
vii)プロパティ集合を扱い、プロパティを識別し、プロパティ、入れ子にされたプロパティ集合をソート/順序付け;
【0180】
viii)オーサによって使用される用語に合致するプロパティニモニック名を与える。これは、オーサリングUI内のラベルとは異なることが多い。
【0181】
3-WAYスキーマ認識比較ツール
図11A及び
図11Bは、一実施例に係る、3-wayスキーマ認識比較1100を例示する。
【0182】
LCPは、複数のオーサが、同一のリソース(例えば、ワークブック)を同時に編集することを許容しない。従来から、ユーザは、リソースを「チェックアウト」し、変更を行い、次いで、リポジトリへの修正されたリソースをチェックインする必要がある。次いで、別のユーザは、引き続き、リソースをチェックアウトし、変更を実行することができる。単純な比較ツールは通常、小バッチの変更をレビューするために十分であるが、大きな規模の、複雑な入れ子にされた変更のためには適切でない。例えば、オーサは、リソースのプライベートコピーに対して頻繁に作業する。それらはまた、それらが前に作成した類似のソリューション(コピーペーストパターン)からビルディングブロックを借りる。更に、複数の開発ストリームは、同一のリソースを共有することが多い。加えて、マスタコピーから導出されたリソースは、サービス更新及び新たなバージョンを通じて、変更の影響を受ける。
【0183】
2つのリソースの間の直接2-way比較を行うことによって、千を超える変更を報告する複雑なリソースへの変更を別の関連するリソースと一致させることは、事実上不可能である。しかしながら、2つのリソースが共通のアンセスタ(ancestor)を共有するとき(例えば、両方がマスタコピーから導出される)、3-way、スキーマ認識比較を実行することは、誰が変更を行ったか、及び異なるオーサによって行われたどの変更が衝突している場合があるかを容易に識別する。
【0184】
これは、
図11Aにおいて例示され、
図11Aでは、リソースの元のマスタコピー、Common Ancestor 1102(Resource1.0としても知られる)は、更なる修正のための基準としての役割を果たす。例えば、Resource1.0への更新は、Version A 1104(Resource2.0としても知られる)を結果としてもたらす。同様に、顧客は、Resource1.0(すなわち、Common Ancestor 1102)をコピーし得、カスタム補正を行い得、Version B 1106(Customer Versionとしても知られる)を結果としてもたらす。
【0185】
上記説明された理由のため、2-way比較を行うことによって、Version A 1104とVersion B 1106との間の変更を一致させることは事実上不可能である。Version B 1106との直接のVersion A 1104の直接比較は、時間を要し、複雑であり、且つエラーを起こしやすい。しかしながら、2つのバージョン(Version A 1104及びVersion B 1106)が、Common Ancestor 1102を共有するとき、3-way、スキーマ認識比較を実行することは、誰がどの変更を行ったか、及びどの変更が潜在的な衝突であるかを容易に識別する。Common Ancestor 1102がVersion A 1104と比較され(比較1108)、Common Ancestor 1102がVersion B 1106とも比較される(比較1110)、3-way比較が
図11Bに簡単に説明される。2-wayスキーマ認識比較1108と2-wayスキーマ認識比較1110との間の差異は、Version A 1104とVersion B 1106との間の差異を比較する方法を提供する。
【0186】
要するに、3-wayスキーマ認識比較はなおも、2つのリソースA及びBのスキーマ認識比較を使用する。しかしながら、共通アンセスタを追加することは、スキーマ認識比較ツールが、変更のソースを識別することを可能にする。共通アンセスタ(すなわち、マスタコピー)は、リポジトリから取得される。「データ断片(data crumbs)」を通じてアンセストリを追跡することは、その工程を完全に自動にし、非常に信頼できるものにすることができる。加えて、潜在的な衝突は、突き止めるのに容易であり、入れ子にされたプロパティのスキーマ認識比較により、手動介入により潜在的な衝突を解決することができる。他の変更を単純に承認又は拒絶することができる。承認/拒絶決定を捕捉することは、それらの決定を持続させることができ、後の報告においてそれらを保持又は使用することができる。
【0187】
図12は、一実施例に係る、3-way比較報告1200の実例を例示する。
図12では、リソースワークブックは、2つの異なるアクタによって補正される。
【0188】
比較報告1200は、ワークシートレベルにおいて変更を例示する。完全比較報告1200も、ワークブック/ワークシート/コラムプロパティ(図示せず)を包含する。共通アンセスタ(common ancestor)1202は、コラムA内でリスト表示されると共に、バージョンA 1204は、コラムC内に示され、バージョンB 1206は、コラムG内に示される。バージョンA 1204において行われた変更(common ancestor 1202と比較して)は、コラムD内にリスト表示される。例えば、追加(addition)1208及び削除(deletion)1210が行われている。同様に、バージョンB 1206において行われた変更(common ancestor 1202と比較して)は、コラムH内にリスト表示される。例えば、削除(deletion)1212が行われている。
【0189】
比較報告1200は、バージョンA 1204とバージョンB 1206との間の潜在的な衝突の迅速な分析を可能にする。例えば、バージョンA 1204及びバージョンB 1206の両方は、行6における新たなワークシートの追加を示し、それによって、2つのバージョンの間の潜在的な衝突1214を識別する。この迅速な分析は、3-way比較(バージョンA 1204をcommon ancestor 1202と比較し、バージョンB 1206をcommon ancestor 1202と比較し、差異の2つのセットを一致させる)に起因する。
【0190】
要するに、効果的な、使用が容易な比較ツールは、スキーマ認識比較;集合プロパティ、殊に入れ子にされた集合の洗練された扱い;外形の差異に関わらず、2つのアイテムが同一のビジネスオブジェクトであることを認識するための効果的なマッチングアルゴリズム;ユーザヒント及び入力を受け入れ、ユーザ決定を持続させる能力;ビジネスオブジェクトの構造を反映する構造化された報告;大規模の差異の間の重要な変更(リソースごとの数千の変更の間の)を発見するためのカラーフォーマッティング、タグ付け、及びフィルタリング、を含む。更に、第3のデータポイントとして共通アンセスタを追加することは、変更のソースを識別する。
【0191】
準構造化され又は構造化されていないコンポーネントへの適用
本明細書で開示されるシステム及び方法は、変更をモニタし、変更をビジネス目的と関連付け、プログラム、コード、表現、マクロ、埋め込まれた文書化、ユーザ文書化、試験計画、訓練マテリアル、試験データ、ソリューションパッケージング、インストールなど、準構造化され又は構造化されていないコンポーネントを含む、リソースのマスタコピーから、顧客に特有のカスタマイズされたソリューションを構築する能力を拡張する、フリーフォームテキストのパース及び比較技術を採用することができる。
【0192】
図13は、開示されるシステム及び方法によって対処することができる、構造の度合いが変化するソリューションコンポーネントの連続体の実例を例示する。連続体は、異なるタイプのコンポーネント、構造化されたリソースから、準構造化されたコンポーネント、構造化されていない又はフリーフォームコンポーネントまでを含む。構造化されたコンポーネントは、低コードソリューションを支配すると共に、本明細書で開示されるシステム及び方法は、全てのケースに適用される。コンポーネントがあまり構造化されないので、マージコンフリクトの可能性、又はエラーが増大する。しかしながら、なおも、カスタマイズされたソリューションを配送する際に、著しいコスト低減を達成する。
【0193】
構造化されたコンポーネントの実例は、XMLオブジェクト1302、データベース1304、試験計画1306、訓練計画1308、UI要素1312、及びAPI 1314を含む。XMLオブジェクトは、構造化され、XMLスキーマによって施行される。更に、データベースは、構造化され、データベーススキーマ及び関係整合性ルールによって施行される。UI要素1312は、構造化され、通常は、XMLとして表現される。試験計画は、構造化される(XMLとして、又は表形式スプレッドシート若しくはツリー状フォーマットに記憶されることが多い)。
【0194】
準構造化されたコンポーネントの実例は、宣言的UIアクション1316、ライブラリ1318、埋め込み文書化(ビジネスオブジェクトにおける)1320、試験ケース1322、訓練マテリアル1324、及び試験データ1326を含む。UI振る舞い(すなわち、1316)は、準構造化されるが、Model-View-Controllerなどの設計パターンによって統治される。Modelは、データエンティティを表現し、Viewは、UI要素を記述し、Controllerは、宣言的に(XML、プロパティシート)又はフリーフォームで(様々なUIアクションを実装するコード)のいずれかでUI振る舞いを記述し得る。それらの3つの中で、最初の2つ(すなわち、Model及びController)が構造化され、コードがなおも、プログラミング言語のグラマによって統治される。コードを比較及びマージすることは、GITなど、サポートのためのツールによる公知の工程である。加えて、試験は、試験データ1326のままで準構造化される。加えて、工程文書化は、パッケージング、開発、及びインストール(1310)のままで準構造化される。
【0195】
カスタマイズされたソリューションのための試験計画の生成
試験活動は、カスタマイズされたソリューションの総開発コストの50%までを占め得る。複雑なビジネスシステムの全ての既知のカスタマイズを分析及びカタログするための提案されるシステムの利点の1つは、既存の試験計画、及びカスタマイズされたソリューションの開発の間に適用される試験計画を追跡することもするその能力である。システムは更に、マスタソリューションコピー(すなわち、ソリューションの一部であるリソースのマスタコピー)と、全ての適用可能且つ自動化された試験ケースと、効果的なソリューションレシピと、リソースの間の従属性と、工程ステップと、試験ケースと、を考慮する、カスタマイズされた試験計画を生成することによって、カスタマイズされたビジネスソリューションを作成及び維持するコストを低減させることができる。
【0196】
カスタマイズされたソリューションのための文書化及び訓練マテリアルの生成
あらゆるカスタマイズされたソリューションが、文書化及び訓練マテリアルを伴って提供される。それらのマテリアルを作成及び維持することは、カスタマイズされたソリューションの総開発コストの著しい割合を消費し得る。複雑なビジネスシステムの全ての既知のカスタマイズを分析及びカタログするための開示されるシステム及び方法の利点の1つは、埋め込み又はスタンドアロン文書化を追跡し、文書化への変更を追跡し、ソリューション文書化に包含されるフリーフォームテキスト内のパターンを分析し、それらの変更を注釈付ける、こともする能力である。システムは更に、マスタソリューションコピーと、全ての適用可能な埋め込み又はスタンドアロン文書化及び訓練マテリアルと、効果的なソリューションレシピと、リソースの間の従属性と、工程ステップと、試験ケースと、を考慮する、カスタマイズされた文書化及び訓練セットを生成することによって、カスタマイズされたビジネスソリューションを作成及び維持するコストを低減させることができる。ソリューション文書化及び訓練マテリアルに包含されるフリーフォームテキストを扱うためのロバストなツールを提供するために、高度なテキスト比較アルゴリズム及び機械学習アルゴリズムが使用され得る。
【0197】
LCPに包含されるコードへの変更のパース
LCPソリューションは、コンピュータコードを開発するための構成を置き換えることを目的としているが、全てのLCPプラットフォームは、それらの実装態様において特定の割合のフリーフォームコードを包含する。文書化とは異なり、このコードは、採用されるコンピュータ言語と関連付けられた厳格なルールの影響を受け、プログラムで修正するのに非常に困難である。本明細書で開示されるシステム及び方法は、リソースに包含されるコードを追跡し、比較し、注釈付け、及び修正するためのロバストなツールを提供するために、プログラミング言語グラマの深い知識を採用する。アイデアは、上記説明されたスキーマ認識比較と類似するが、ワークブックなどの構造化されたビジネスオブジェクトを扱うためのXMLスキーマなどのメタデータを活用する代わりに、表現の扱いは、所与の実施例において採用されるコンピュータ言語の言語グラマを活用して、フリーフォームコードを構造化されたオブジェクトツリーに変換し、コードの構造への深い見識を得る。
【0198】
いくつかの実施例では、構造化されたテキスト又はバイナリファイルを読み込み、処理し、実行し、又は翻訳するためのパーサジェネレータを使用して、言語グラマが捕捉され得る。ANTLR(Another Tool for Language Recognition)は、言語、ツール、及びフレームワークを確立するそのようなジェネレータの実例である。グラマから、ANTLRは、ツリーを確立及びウォークパースする(walk parse)ことができるパーサを生成する。
【0199】
いくつかの実施例では、言語グラマは、ANTLRグラマとして使用して捕捉され得、LCPに包含されるコードを検証及び実行するために、言語パーサ及びインタプリタによって使用され得る。他のケースでは、ソリューションは、既知のグラマにより、SQL又はJavaScript(登録商標)など、標準化された言語を使用する。そのようなツールは、開発者又はコンサルタントによって記述されたフリーフォームコードから、オブジェクトツリーを生み出す。コードに対して行われた変更、それらのビジネス目的、注釈、及びカスタムリソースの注釈付けられた生成の詳細な理解を得るために、スキーマ認識比較において説明されたような同一の方法論を使用して、オブジェクトツリーを扱うことができる。ツールはまた、それらが処理する表現を検証し、潜在的なエラーをユーザに警告するために、言語グラマを使用することができる。
【0200】
要するに、フリーフォームコードを含むためのカスタマイズされたリソースの自動化された生成のための開示されるシステム及び方法の範囲を拡張することは、顧客の一意な必要性ごとに、ソリューションをカスタマイズするコストを更に低減させることを目的とする。
【0201】
図14は、一実施例に係る、フローチャート1400を例示する。
【0202】
図1にあるように、開始ポイントは、包括的リソース、及びそれらの関連するコンポーネントのマスタコピーであり、関連するコンポーネントは、特定のビジネスソリューションを成す。マスタコピーは、プログラム、コード、表現、マクロ、埋め込み文書化、ユーザ文書化、試験計画、訓練マテリアル、試験データ、ソリューションパッケージング、インストールなど、準構造化され又は構造化されていないコンポーネントを含むことができる。
【0203】
ステップ1402において、コンポーネント(又は、ビジネスコンポーネント)が選択され、このコンポーネントが修正される。ステップ1404において、選択されたコンポーネントのワーキングコピーが作成される。このワーキングコピーは、「Component1」とも称され、カスタマイズの基準としての役割を果たす。ステップ1406において、そのビジネスロジック又は提示を改編するようにComponent1が編集され、それによって、ステップ1408において、カスタマイズされたバージョンを生成する。カスタマイズされたバージョンは、「Component2」とも称される。Component2の更なる使用の前に、ステップ1406において行われた変更(すなわち、Component1の編集)は、ステップ1410においてComponent2が検証されることを保証するために最初に試験される。この段階において、修正される他のコンポーネントに対して、ステップ1402~ステップ1410を繰り返すことができる。
【0204】
LCPソリューションは、コンピュータコードを開発するための構成を置き換えることを目的としているが、全てのLCPプラットフォームは、それらの実装態様において特定の割合のフリーフォームコードを包含する。文書化とは異なり、このコードは、採用されるコンピュータ言語と関連付けられた厳格なルールの影響を受け、プログラムで修正するのに非常に困難である。アイデアは、
図1において説明されたスキーマ認識比較と類似するが、構造化されたリソースを扱うためのXMLスキーマなどのメタデータを活用する代わりに、表現の扱いは、所与の実施例において採用されるコンピュータ言語の言語グラマを活用して、フリーフォームコードを構造化されたオブジェクトツリーに変換し、コードの構造への深い見識を得る。すなわち、2wayグラマ認識ツールは、それぞれのコンポーネント内の1つ又は複数のフリーフォーム表現の各々をそれぞれのオブジェクトツリーに変換するために、プログラミング言語グラマを使用する。
【0205】
いくつかの実施例では、構造化されたテキスト又はバイナリファイルを読み込み、処理し、実行し、又は翻訳するためのパーサジェネレータを使用して、言語グラマが捕捉され得る。ANTLR(Another Tool for Language Recognition)は、言語、ツール、及びフレームワークを確立するそのようなジェネレータの実例である。グラマから、ANTLRは、ツリーを確立及びウォークパースすることができるパーサを生成する。
【0206】
ステップ1410において検証されると、ステップ1412において、それぞれのコンポーネント内の1つ又は複数のフリーフォーム表現の各々は、それぞれのオブジェクトツリーに変換される。
【0207】
Component2は、Component1(Master Copyのコンポーネントと同一である)と比較される。ステップ1416において、Component1とComponent2との間の差異に基づいて、「コンポーネントレシピファイル」を生成するために、そのような比較が使用される。コンポーネントレシピファイルは、何であれ適切であるフォーマット内の差異のリストである。コンポーネントレシピファイルは、構造化されていないコンポーネント(例えば、ワークブック内のコラム表現又はフィルタ表現又は埋め込みヘルプテキスト)を識別することができる。フリーフォームテキストのソース又はコード以外に、コンポーネントレシピファイルは、プログラミング言語、バージョン、日付又は番号フォーマットなどの言語名/ロケール/国際化情報などのメタデータを識別することができる。
【0208】
コンポーネントレシピファイル内の差異は、最小で、変更を記述するエントリのリストを提供する。各々のエントリは、最小で、変更が挿入/削除/修正に対するオペレーションである場合、オフセットを包含することができる。準構造化されたプロパティのケースでは、コンポーネントレシピファイルは、変更を信頼して適用することを支援する追加のヒント、例えば、修正されたセクションの直前又は直後のフレーズを包含することができる。これは、マスタコピー/親リソースに変更を適用することができることを確認し得る。それは、スワップされることになる区画を識別するために、コードに置かれたタグへの参照を包含し得る。そのようなタグは、言語が許容する場合、視認可能な(例えば、コード内のコメント)マークアップ属性であることができ、又は視認不可能(例えば、XML若しくはHTMLタグ)であることができる。
【0209】
したがって、コンポーネントレシピファイルのコンテンツは、それが動作することが推定されるエンティティが何のタイプであるかに応じて異なり得る。リソースのためのレシピファイルと同様に(
図1を参照)、差異を抽出し、タグ付けし、及び注釈付けることは、同一のままである。カストディ(custody)のチェーンが完全である限り、マスタコピー及びコンポーネントレシピファイルから所望のコピーを生成することができる。
【0210】
概して、コンポーネントレシピファイルは、修正が参照する属性によりタグ付けられた既知の修正の注釈付けられたリストを記述する。
図14を参照して、コンポーネントレシピファイルは、Component1をComponent2に転換する。コンポーネントレシピファイル内で発見されるコマンド/編集の実例は、
図2に示された複雑なオペレーション204及びリファクタリングオペレーション208を含む。ステップ1414及びステップ1416の組み合わせは、
図5において更に詳細に説明されたステップと同様である。
【0211】
ステップ1418において、ステップ1416において生成されたレシピファイルは、ステップ1420において「Component3」を生成する、Component1に適用される。Component3は、コンポーネントレシピファイル内の差異のリストに基づいて、Master Copy内の元のコンポーネントから生成されたカスタマイズされたコンポーネントの第2のコピーである。生成工程(ステップ1420における)が正確であることを保証するために、ステップ1422において、Component2とComponent3との間で比較が行われる。すなわち、生成されたコンポーネント(Component3)は、手動でカスタマイズされたコンポーネント(Component2)と同様であるはずであり、ステップ1424における、コンポーネントレシピファイルの検証を結果としてもたらす。
【0212】
図15は、一実施例に係る、システム1500のブロック図を例示する。
【0213】
システム1500は、1つ又は複数のクライアントコンピュータ(複数可)1518、第1のネットワーク(ネットワーク1 1502)、1つ又は複数のアプリケーションサーバ(複数可)1506、第2のネットワーク(ネットワーク2 1510)、1つ又は複数のデータサーバ(複数可)1512、データベース1514、記憶装置/ディスク1508、及びバージョン制御1516を含む。サーバ(複数)は共同設置されてローカルネットワークを使用し得、又は複数のデータセンタ若しくはパブリッククラウド内にホストされることができる。
【0214】
クライアントコンピュータ(複数可)1518は、他の機能の中で、ユーザインタフェースを稼働させ得る。クライアントコンピュータ(複数可)1518は、モバイルデバイスを含むことができ、セントラルプロセシングユニット(CPU:central processing unit)、ディスク、及び揮発性メモリを含み得る。いくつかの実施例では、クライアントコンピュータ(複数可)1518は、ネットワーク1 1502を介してアプリケーションサーバ(複数可)1506と通信する。
【0215】
アプリケーションサーバ(複数可)1506は、他の機能の中で、システムのためのビジネスロジックを稼働させ得る。アプリケーションサーバ(複数可)1506は、セントラルプロセシングユニット(CPU)、ディスク、及び揮発性メモリを含み得る。相互に通信し、又は専門化されたタスクを実行する多数のアプリケーションサーバが存在し得る。
【0216】
バージョン制御1516は、他の機能の中で、複数のバージョンのビジネスオブジェクトを管理することができる。バージョン制御1516は、セントラルプロセシングユニット(CPU)、ディスク、及び揮発性メモリを含み得る。
【0217】
データサーバ(複数可)1512は、他の機能の中で、バックエンド処理を実行することができ、様々なアルゴリズムを稼働させることができ、データベースアクセスを管理することなどができる。
【0218】
いくつかの実施例では、ネットワーク2 1510は、アプリケーションサーバ(複数可)1506、データサーバ(複数可)1512、記憶装置/ディスク1508、データベース1514、及びバージョン制御1516の間の通信のためのハブとしての役割を果たす。
【0219】
システム1500は、追加の特徴及び/又は機能性をも含むことができる。例えば、システム1500は、それらに限定されないが、磁気又は光学ディスク又はテープを含む、追加の記憶装置(着脱可能及び/又は着脱不能)をも含むことができる。そのような追加の記憶装置は、記憶装置/ディスク1508によって
図15において例示される。記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、又は他のデータなどの情報の記憶のためのいずれかの方法又は技術において実装された揮発性及び不揮発性、着脱可能及び着脱不能媒体を含むことができる。記憶装置/ディスク1508は、非一時的コンピュータ可読記憶媒体の実例である。非一時的コンピュータ可読媒体は、それらに限定されないが、ランダムアクセスメモリ(RAM:Random Access Memory)、リードオンリメモリ(ROM:Read-Only Memory)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM:Electrically Erasable Programmable Read-Only Memory)、フラッシュメモリ及び/若しくは他のメモリ技術、コンパクトディスクリードオンリメモリ(CD-ROM:Compact Disc Read-Only Memory)、デジタル多用途ディスク(DVD:digital versatile discs)、及び/若しくは他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置若しくは他の磁気記憶デバイス、並びに/又は所望の情報を記憶するために使用することができ、システム1500によってアクセスすることができるいずれかの他の媒体をも含む。いずれかのそのような非一時的コンピュータ可読記憶媒体は、システム1500の一部であることができる。
【0220】
クライアントコンピュータ(複数可)1518、アプリケーションサーバ(複数可)1506、データサーバ(複数可)1512、記憶装置/ディスク1508、データベース1514、及びバージョン制御1516の間の通信は、様々なネットワークタイプにわたることができる。非限定的な実例のネットワークタイプは、Fibreチャネル、スモールコンピュータシステムインタフェース(SCSI:small computer system interface)、Bluetooth、Ethernet(登録商標)、Wi-fi、Infrared Data Association(IrDA)、ローカルエリアネットワーク(LAN:Local area networks)、無線ローカルエリアネットワーク(WLAN:Wireless Local area networks)、インターネットなどのワイドエリアネットワーク(WAN)、シリアル、及びユニバーサルシリアルバス(USB:universal serial bus)を含むことができる。一般的に、システム1500の様々なコンポーネントの間の通信は、配線接続、セルラ、又はWi-Fi若しくはBluetoothネットワーク化コンポーネントなどにわたって行われ得る。いくつかの実施例では、システム1500の1つ又は複数の電子デバイスは、クラウドベースメモリ記憶装置など、クラウドベースの特徴を含み得る。
【0221】
先述のフローチャートを参照してそれらを含む上記説明されたアルゴリズムが別々に説明されてきたが、本明細書で開示されるアルゴリズムのいずれかの2つ以上がいずれかの組み合わせにおいて組み合わされることができることを理解されるべきである。本明細書で説明される方法、モジュール、アルゴリズム、実装態様、又は手順のいずれかは、(a)プロセッサ、(b)コントローラ、及び/又は(c)いずれかの他の適切なプロセシングデバイスによる実行のための機械可読命令を含むことができる。本明細書で開示されるいずれかのアルゴリズム、ソフトウェア、又は方法は、例えば、フラッシュメモリ、CD-ROM、フロッピー(登録商標)ディスク、ハードドライブ、デジタル多用途ディスク(DVD)、又は他のメモリデバイスなどの非一時的有形媒体に記憶されたソフトウェアにおいて具体化されることができるが、当業者は、アルゴリズム全体及び/又はその一部が代わりに、周知の方式において、コントローラ以外のデバイスによって実行され得、及び/又はファームウェア若しくは専用ハードウェアにおいて具体化され得る(例えば、それは、特定用途向け集積回路(ASIC:application specific integrated circuit)、プログラマブル論理回路(PLD:programmable logic device)、フィールドプログラマブル論理回路(FPLD:field programmable logic device)、離散ロジックなどによって実装され得る)ことを容易に認識するであろう。更に、本明細書で表されるフローチャートを参照して特定のアルゴリズムが説明されたが、当業者は、実例の機械可読命令を実装する多数の他の方法が代わりに使用され得ることを容易に認識するであろう。例えば、ブロックの実行の順序は変更され得、及び/又は説明されるブロックの一部は、変更され得、取り除かれ得、若しくは組み合わされ得る。
【0222】
アルゴリズムは、特定の機能を実行し、相互に対話する様々なモジュールを有するとして本明細書で例示及び議論されることに留意されるべきである。それらのモジュールは、説明のためにそれらの機能に基づいて隔離されるにすぎず、適切なコンピューティングハードウェア上での実行のためにコンピュータハードウェア及び/又はコンピュータ可読媒体に記憶された実行可能ソフトウェアコードを表すことを理解されるべきである。異なるモジュール及びユニットの様々な機能は、いずれかの方式においてモジュールと同様にハードウェア及び/又は非一時的コンピュータ可読媒体に記憶されたソフトウェアとして組み合されることができ、又は隔離されることができ、別々に又は組み合わせで使用されることができる。
【0223】
本明細書は、多数の特定の実装態様の詳細を包含するが、それらは、特許請求され得るもの範囲に対する限定として解釈されるべきではなく、むしろ、特定の実施例に特有であり得る特徴の説明として解釈されるべきである。別個の実施例のコンテキストにおいて本明細書で説明された特定の特徴はまた、単一の実施例において組み合わせ実装されることもできる。逆に、単一の実施例のコンテキストにおいて説明された様々な特徴は、複数の実施例において別々に、又はいずれかの適切な部分組み合わせで実装されることもできる。その上、特徴が特定の組み合わせで機能するように、上記で説明され得、更には、そのようなものとして最初に特許請求され得たが、特許請求される組み合わせからの1つ又は複数の特徴は、いくつかのケースでは、組み合わせから切除されることができ、特許請求される組み合わせは、部分組み合わせ又は部分組み合わせの変形に向けられ得る。
【0224】
同様に、オペレーションが特定の順序において図面内で表されるが、これは、そのようなオペレーションが、示される特定の順序において、若しくは順番に実行されること、又は全ての例示されるオペレーションが、望ましい結果を達成するために実行されること、を必要とするとして理解されるべきではない。特定の状況では、マルチタスキング及び並列処理が有利であり得る。その上、上記で説明された実施例における様々なシステムモジュール及びコンポーネントの分離は、全ての実施例においてそのような分離が必要であるとして理解されるできではなく、説明されたプログラムコンポーネント及びシステムは全体的に、単一のソフトウェア製品に共に統合されることができ、複数のソフトウェア製品にパッケージ化されることができることを理解されるべきである。
【0225】
主題の特定の実施例が説明されてきた。他の実施例が、以下の特許請求の範囲内にある。例えば、特許請求の範囲において記載されるアクションは、異なる順序において実行されることができ、なおも、望ましい結果を達成することができる。1つの実例として、添付図面内で表される処理は、望ましい結果を達成するために、示される特定の順序、又は順番を必ずしも必要としない。特定の実装態様では、マルチタスキング及び並列処理が有利であり得る。
【国際調査報告】