【手続補正書】
【提出日】平成27年9月10日(2015.9.10)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】発明の名称
【補正方法】変更
【補正の内容】
【発明の名称】ソフトウエアを開発するためのコンピュータプログラム、方法、コンピュータシステム、装置及びコンピュータ
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ユーザが入力したパラメータ値に対応するソフトウエア・ソース・コードの既定ルール・セットに基づいて、コンピュータ・プロセッサを備えるコンピュータがソフトウエア・ソース・コードを生成するときに実行する命令を含んでおり、
該既定ルール・セットは、該ソフトウエア・ソース・コードのソース・コード・コンポーネントを含んでおり、
該ソース・コード・コンポーネントは、コンポーネント値によって表されている、
コンピュータプログラムであって、
前記命令は、前記コンピュータ・プロセッサに、以下の条件ａ乃至ｃを全て満たす処理を実行させることを特徴とするコンピュータプログラム。
ａ．データ・トークンの値であるトークン値を生成可能にする方法と前記ソフトウエア・ソース・コード内の前記ソース・コード・コンポーネントを表すコンポーネント値に該トークン値を関連付ける方法とを特定するデータ・トークン・ルール・セットと、該データ・トークン・ルール・セットと共に生成されて格納されたデータ・トークンとを使用する。
ｂ．該ソフトウエア・ソース・コードの不確定型ソース・コード・コンポーネントを表す前記コンポーネント値を有する、格納されたソース・オブジェクトと、該コンポーネント値に関連付けられた前記トークン値とを使用する。ここで、該不確定型ソース・コード・コンポーネントは、前記ソフトウエア・ソース・コードの前記既定ルール・セット内の前記ソース・コード・コンポーネントであり、そのコンポーネント値は、コンピュータ実行可能なロジックを用いて決定するのでは無く、該ソフトウエア・ソース・コードを生成する際にユーザが決定する。
ｃ．コンピュータが実行するロジックを付加する位置を決定すると共に、取り出すパラメータを使用して前記トークン値を処理する方法をソース・オブジェクト、前記データ・トークンのトークン値及び前記不確定型ソース・コード・コンポーネントのコンポーネント値から決定して、トークン結果を獲得し、それにより、前記パラメータ値、前記不確定型ソース・コード・コンポーネントのコンポーネント値、前記コンピュータ実行ロジックが決定した確定型ソース・コード・コンポーネントのコンポーネント値及び前記トークン結果を用いて前記ソフトウエア・ソース・コードを生成する。
【請求項２】
前記トークン値は、他の処理に使用されること無しに、ソフトウエア・コンポーネントの構築に使用されることを特徴とする請求項１に記載のコンピュータプログラム。
【請求項３】
前記トークン値の処理は、コンピュータ・プロセッサで実行可能な命令のセットの実行を含むことを特徴とする請求項１又は２に記載のコンピュータプログラム。
【請求項４】
ソフトウエア・ソース・コードを、該ソフトウエア・ソース・コードの既定ルール・セットに基づいて、コンピュータ・プロセッサで生成する方法であって、
該既定ルール・セットが、コンポーネント値で表される、前記ソフトウエア・ソース・コードのソース・コード・コンポーネントを含み、且つ、
以下の処理を全て含むことを特徴とする方法。
ａ．以下を全て含む、ソース・オブジェクト・レポジトリの生成。
ｉ．該ソース・コード・コンポーネントを不確定型ソース・コード・コンポーネントと確定型ソース・コード・コンポーネントとに分類する。ここで、該不確定型ソース・コード・コンポーネントは、前記ソフトウエア・ソース・コードの前記既定ルール・セット内のソース・コード・コンポーネントであり、そのコンポーネント値は、コンピュータ実行可能なロジックを用いて決定するのでは無く、前記ソフトウエア・ソース・コードを生成する際にユーザが決定する。
ii．トークン値で表されたデータ・トークンを、データ・トークン・ルール・セットと共に定義する。
iii．パラメータ値で表されたパラメータを定義する。
iv．前記ソフトウエア・ソース・コードの前記既定ルール・セットに基づき、前記不確定型ソース・コード・コンポーネント及び前記データ・トークンを使用して、データ・モデルを生成する。ここで、該データ・モデルは、前記ソース・オブジェクトを格納する性能を有し、また、該ソース・オブジェクトは、前記コンポーネント値及び前記トークン値を含む。
ｖ．コンピュータ・プロセッサが、ソース・オブジェクトを生成することによって、前記データ・モデルに基づくソース・オブジェクト・レポジトリの生成を行う。ここで、該ソース・オブジェクトは、前記データ・トークン・ルール・セットに従って関連付けられた前記トークン値及び前記コンポーネント値を含む。
ｂ．前記ソース・オブジェクト・レポジトリ、前記ソフトウエア・ソース・コードの前記既定ルール・セット、前記パラメータ及び前記データ・トークンに基づいて、ソース・コード・ジェネレータを生成する。
ｃ．コンピュータ・プロセッサが前記ソース・コード・ジェネレータを実行して、ユーザのパラメータ値入力に応じた、所望のソース・コードを生成する。ここで、該ソース・コード・ジェネレータは、前記ソース・オブジェクトと所望の前記ソース・コードを生成するためのパラメータ値とを使用する。
【請求項５】
前記データ・トークンを使用すること無しに、前記データ・モデルを生成することを特徴とする請求項４に記載の方法。
【請求項６】
前記パラメータが、前記データ・モデルの生成に使用されることを特徴とする請求項４又は５に記載の方法。
【請求項７】
トークン結果が、前記トークン値の処理によって取得されて、前記所望のソース・コードの生成に使用されることを特徴とする請求項４乃至６の何れかに記載の方法。
【請求項８】
前記トークン値は、前記パラメータ値を用いて得られることを特徴とする請求項４乃至７の何れかに記載の方法。
【請求項９】
前記コンポーネント値は、前記パラメータ値を用いて得られることを特徴とする請求項４乃至８の何れかに記載の方法。
【請求項１０】
前記ソース・オブジェクトは、前記トークン値を含まないことを特徴とする請求項４乃至１０の何れかに記載の方法。
【請求項１１】
前記ソース・オブジェクトは、前記コンポーネント値を含まないことを特徴とする請求項４乃至１１の何れかに記載の方法。
【請求項１２】
前記ソース・コード・ジェネレータは、コンピュータ・プログラムと一体化されていることを特徴とする請求項４乃至１１の何れかに記載の方法。
【請求項１３】
ユーザが入力したパラメータ値に対応するソフトウエア・ソース・コードの既定ルール・セットに基づいて、コンピュータ装置がソフトウエア・ソース・コードを生成するときに実行される命令を含んでおり、
該既定ルール・セットは、該ソフトウエア・ソース・コードのソース・コード・コンポーネントを含んでおり、
該ソース・コード・コンポーネントは、コンポーネント値によって表されている、
コンピュータプログラムであって、
前記命令は、前記コンピュータ装置に、以下の処理ａ乃至ｅを全て実行させることを特徴とするコンピュータプログラム。
ａ．ソース・オブジェクトを識別する。
ｂ．下記ｉ乃至ｉｖに従って生成されたソース・オブジェクト・レポジトリから、前記ソース・オブジェクトを取得する。
ｉ．前記ソース・コード・コンポーネントを不確定型ソース・コード・コンポーネントと確定型ソース・コード・コンポーネントとに分類する。ここで、該不確定型ソース・コード・コンポーネントは、前記ソフトウエア・ソース・コードの前記既定ルール・セット内の前記ソース・コード・コンポーネントであり、そのコンポーネント値は、コンピュータ実行可能なロジックを使用して決定するのでは無く、前記ソフトウエア・ソース・コードを生成する際にユーザが決定する。
ｉｉ．トークン値で表されたデータ・トークンを、データ・トークン・ルール・セットと共に、定義する。
ｉｉｉ．パラメータ値で表されたパラメータを、定義する。
ｉｖ．前記ソフトウエア・ソース・コードの前記既定ルール・セットに基づき、前記不確定型ソース・コード・コンポーネント及び前記データ・トークンを使用して、データ・モデルを生成する。ここで、該データ・モデルは、前記ソース・オブジェクトを格納する性能を有し、また、該ソース・オブジェクトは、前記コンポーネント値及び前記トークン値を含む。
ｃ．前記ソース・オブジェクトから、前記不確定型ソース・コード・コンポーネントの前記コンポーネント値を取得する。ここで、該不確定型ソース・コード・コンポーネントは、前記ソフトウエア・ソース・コードの前記既定ルール・セット内の前記ソース・コード・コンポーネントであり、そのコンポーネント値は、コンピュータ実行可能なロジックを使用して決定するのでは無く、前記ソフトウエア・ソース・コードを生成する際にユーザが決定する。
ｄ．トークン結果を取得するために、前記トークン値を処理する。
ｅ．前記ソース・コードの前記既定ルール・セットに基づき、且つ、前記パラメータ値、前記不確定型ソース・コード・コンポーネントの前記コンポーネント値、前記確定型ソース・コード・コンポーネントのコンポーネント値及び前記トークン結果を使用して、前記ソース・コードを構築する。
【請求項１４】
前記トークン値が処理されないことを特徴とする請求項１３に記載のコンピュータプログラム。
【請求項１５】
前記トークン値が、前記ソース・コードの構築に使用されることを特徴とする請求項１３又は１４に記載のコンピュータプログラム。
【請求項１６】
前記トークン結果が、前記ソース・コードの構築に使用されないことを特徴とする請求項１３乃至１５の何れかに記載のコンピュータプログラム。
【請求項１７】
前記パラメータ値が、前記ソース・コードの構築に使用されないことを特徴とする請求項１３乃至１６の何れかに記載のコンピュータプログラム。
【請求項１８】
前記不確定型ソース・コード・コンポーネントの前記コンポーネント値が、前記ソース・コードの構築に使用されないことを特徴とする請求項１３乃至１７の何れかに記載のコンピュータプログラム。
【請求項１９】
前記確定型ソース・コード・コンポーネントの前記コンポーネント値が、前記ソース・コードの構築に使用されないことを特徴とする請求項１３乃至１８に記載のコンピュータプログラム。
【請求項２０】
前記トークン値が、前記パラメータ値を用いて処理されることを特徴とする請求項１３乃至１９に記載のコンピュータプログラム。
【請求項２１】
１個以上のプログラムが協働してコンピュータを制御することにより、請求項１乃至３の何れかに記載の処理を実行することを特徴とするコンピュータプログラム。
【請求項２２】
クライアント・コンピュータと、該クライアント・コンピュータに通信接続されたサーバ・コンピュータとを備え、且つ、
コンピュータ・プロセッサと、請求項１乃至３の何れかのコンピュータプログラムを格納するコンピュータ読み取り可能な記憶装置とを備え、
該記憶装置は、前記コンピュータ・プロセッサと結合していると共に、該コンピュータ・プロセッサが実行可能な命令を含み、この命令を実行するときに、該コンピュータ・プロセッサに、前記コンピュータプログラムに記述された処理を実行させる、
ことを特徴とするコンピュータシステム。
【請求項２３】
請求項１乃至３の何れかに記載のコンピュータプログラムを格納するコンピュータ読み取り可能な記憶媒体を備え、
該記憶媒体は、コンピュータ装置が実行する命令を含み、この命令を実行するときに、該コンピュータ装置に前記コンピュータプログラムに記述された処理を実行させる、
ことを特徴とする装置。
【請求項２４】
１個以上のプログラムが協働してコンピュータを制御することにより、請求項１３乃至２０の何れかに記載の処理を実行することを特徴とするコンピュータプログラム。
【請求項２５】
クライアント・コンピュータと、該クライアント・コンピュータに通信するサーバ・コンピュータとを備え、且つ、
コンピュータ・プロセッサと、該コンピュータ・プロセッサと結合したコンピュータ読み取り可能な記憶装置とを備え、
該記憶装置は、前記コンピュータ・プロセッサが実行可能な命令を含み、この命令を実行するときに、該コンピュータ・プロセッサに、請求項１３乃至２０の何れかに記載のコンピュータプログラムに記述された処理を実行させる、
ことを特徴とするコンピュータシステム。
【請求項２６】
コンピュータ読み取り可能な記憶媒体を備え、
該記憶媒体は、コンピュータ装置が実行する命令を含み、この命令を実行するときに、該コンピュータ装置に、請求項１３乃至２０の何れかに記載のコンピュータプログラムを実行させる、
ことを特徴とする装置。
【請求項２７】
コンピュータプログラムであるソース・コード・ジェネレータを用いて、ソース・コードを構築するためのデータ・トークンを、コンピュータ・プロセッサで生成する方法であって、
該ソース・コード・ジェネレータは、前記ソース・コードを構築するために１個以上のソース・コード・コンポーネントを合体する方法を特定する既定ルール・セットに基づき、トークン結果を用いて、前記データ・トークンを生成し、
該トークン結果は、データ・トークンと、前記ソース・コード内のソース・コード・コンポーネントを表すコンポーネント値とを処理することで生成され、
以下の処理ａ及びｂを含み、
ａ．以下の条件ｉ乃至ｉｖを全て満たす方法を特定するデータ・トークン・ルール・セットを生成する処理。
ｉ．前記データ・トークンを表すトークン値が、生成可能な状態である。
ｉｉ．前記ソース・コード・ジェネレータがコンピュータで実行されるロジックを付加しなければならない配置を決定できるように、前記データ・トークンの前記トークン値を前記コンポーネント値に関連付けることが可能な状態である。
ｉｉｉ．トークン結果を生成するためのパラメータを使用して前記データ・トークンの前記トークン値を処理することが可能な状態であり、また、前記ソース・コード・ジェネレータが前記ソース・コードを構築するために該トークン結果を利用することが可能な状態である。
ｉｖ．ソース・オブジェクト及び不確定型ソース・コード・コンポーネントを参照して、ソース・オブジェクト・レポジトリ内から前記コンポーネント値を識別することが可能な状態である。ここで、該不確定型ソース・コード・コンポーネントは、前記ソース・コードの前記既定ルール・セット内のソース・コード・コンポーネントであり、そのコンポーネント値は、コンピュータ実行可能なロジックを用いて決定するのでは無く、前記ソース・コードを生成する際にユーザが決定する。
ｂ．前記コンピュータ・プロセッサにより、前記データ・トークンのトークン値を、前記データ・トークン・ルール・セットを用いて生成する処理。
これにより、生成した前記データ・トークンを、前記ソース・コード・コンポーネントの前記コンポーネント値と関連付けることができ且つ前記ソース・オブジェクト・レポジトリに格納することができるようにして、前記ソース・コード・ジェネレータが前記ソース・コードを構築する際に利用できるようにすることを特徴とする方法。
【請求項２８】
前記コンポーネント値が前記ソース・コードの構築に使用されないことを、前記トークン結果を用いて決定することを特徴とする請求項２７に記載の方法。
【請求項２９】
前記トークン結果を用いて、以下の判断ａ乃至ｃの何れか１つ以上を行うことを特徴とする請求項２７又は２８に記載の方法。
ａ．前記コンポーネント値を変更して、変更後の該コンポーネント値を前記ソース・コードの構築に利用する。
ｂ．前記コンポーネント値を他の前記コンポーネント値の生成に利用し、生成した該他のコンポーネント値を前記ソース・コードの構築に利用する。
ｃ．上記ａ及びｂの組み合わせ。
【請求項３０】
前記データ・トークンの前記トークン値が、前記コンポーネント値に埋め込まれることを特徴とする請求項２７乃至２９の何れかに記載の方法。
【請求項３１】
データ値と、ソース・コードの不確定型ソース・コード・コンポーネントを表すコンポーネント値と、該コンポーネント値に関連付けられたトークン値とを有するソース・オブジェクトを格納するためのソース・オブジェクト・レポジトリを、コンピュータ・プロセッサで生成する方法であって、
前記ソース・オブジェクトを、前記ソース・コードを構築するソース・コード・ジェネレータが、既定ルール・セットに基づいて利用し、且つ、
以下の処理ａ及びｂを含み、
ａ．以下の条件ｉ乃至ｉｉｉを全て満たす方法で、前記ソース・オブジェクトを格納する前記ソース・オブジェクト・レポジトリを生成するためのデータ・モデルを生成する処理。
ｉ．前記ソース・オブジェクトは、前記データ値を用いて、前記ソース・オブジェクト・レポジトリから識別可能且つ取得可能である。
ｉｉ．前記コンポーネント値は、前記ソース・オブジェクト及び不確定型ソース・コード・コンポーネントを参照して、前記ソース・オブジェクト・レポジトリから識別可能である。ここで、該不確定型ソース・コード・コンポーネントは、前記ソース・コードの前記既定ルール・セット内のソース・コード・コンポーネントであり、そのコンポーネント値は、コンピュータ実行可能なロジックを用いて決定するのでは無く、前記ソース・コードを生成する際にユーザが決定する。
ｉｉｉ．データ・トークンの前記トークン値は、データ・トークン・ルール・セットに基づいて生成され、該データ・トークン・ルール・セットによって特定される前記コンポーネント値との関連付けが可能である。
ｂ．データ・モデルに基づいて、ソース・オブジェクト・レポジトリとしてのデータ構造を生成する処理。
これにより、前記ソース・コード・ジェネレータが、生成された前記ソース・オブジェクト・レポジトリを用いて前記ソース・コードを構築できるようにすることを特徴とする方法。
【請求項３２】
前記ソース・オブジェクトは複数のコンポーネント値及び複数のデータ値を含み、該複数のデータ値は前記複数のコンポーネント値間の所望の関係を維持するために使用されることを特徴とする請求項３１に記載の方法。
【請求項３３】
前記ソース・オブジェクトは複数のコンポーネント値及び複数のデータ値を含み、該複数のデータ値は前記複数のコンポーネント値間の所望の順序を維持するために使用されることを特徴とする請求項３１又は３２に記載の方法。
【請求項３４】
前記データ値は、前記ソース・オブジェクト、他のソース・オブジェクト又はこれらの組み合わせの何れか１個以上に格納された他のコンポーネント値を参照することを特徴とする請求項３１乃至３３の何れかに記載の方法。
【請求項３５】
既定ルール・セットに基づいて結合される一又は複数のソース・コード・コンポーネントを含むソース・コードを、コンピュータ・プロセッサによって構築する方法であって、
前記ソース・コード・コンポーネントは、コンポーネント値で表され、且つ、
以下の処理ａ乃至ｅを全て含むことを特徴とする方法。
ａ．データ・トークンを生成する処理。
ｂ．前記コンピュータ・プロセッサでソース・オブジェクト・レポジトリを生成する処理。
ｃ．ソース・コード・ジェネレータを生成する処理。ここで、該ソース・コード・ジェネレータは、前記既定ルール・セットに基づき、データ・トークンを用いて、前記ソース・コードを構築するコンピュータプログラムであり、また、該データ・トークンはデータ・トークン・ルール・セットに基づいて処理される。
ｄ．ソース・オブジェクトを生成する処理。ここで、該ソース・オブジェクトは、データ値と、不確定型ソース・コード・コンポーネントを表すコンポーネント値と、トークン値とを含んでいる。また、前記データ・トークンの該トークン値は、該コンポーネント値と関連付けられている。更に、前記ソース・オブジェクトは、前記ソース・オブジェクト・レポジトリに格納されている。更に、前記不確定型ソース・コード・コンポーネントは、前記ソース・コードの前記既定ルール・セット内のソース・コード・コンポーネントであり、そのコンポーネント値は、コンピュータ実行可能なロジックを用いて決定するのでは無く、ソフトウエア・ソース・コードを生成する際にユーザが決定する。
ｅ．コンピュータ・プロセッサが前記ソース・コード・ジェネレータを実行して、前記ソース・コードを構築する処理。ここで、該ソース・コード・ジェネレータは、前記既定ルール・セットに基づき、トークン結果及びコンポーネント値を利用して、該ソース・コードを構築し、また、該トークン結果は、前記データ・トークンの前記トークン値を処理することで得られる。更に、該ソース・コード・ジェネレータは、該データ・トークンの該トークン値を処理して該トークン結果を生成するためのパラメータを使用し、このとき、該データ・トークンの該トークン値と、該コンポーネント値とは、前記ソース・オブジェクトから取得される。更に、該ソース・コード・ジェネレータは、前記データ値を用いて、該ソース・オブジェクトを前記ソース・オブジェクト・レポジトリから取得する。
【請求項３６】
前記ソース・コード・ジェネレータが、前記トークン結果を利用することにより、前記コンポーネント値を前記ソース・コードの構築に使用するか否かを判断することを特徴とする請求項３５に記載の方法。
【請求項３７】
前記トークン結果を利用することにより、以下のａ乃至ｃの１個以上を判断することを特徴とする請求項３５又は３６に記載の方法。
ａ．コンポーネント値を変更して、変更後のコンポーネント値を前記ソース・コードの構築に使用すること。
ｂ．他のコンポーネント値を生成して、生成した該他のコンポーネント値を前記ソース・コードの構築に使用すること。
ｃ．前記ａ、ｂの組み合わせ。
【請求項３８】
前記データ・トークンの前記トークン値が、前記コンポーネント値に埋め込まれることを特徴とする請求項３５乃至３７の何れかに記載の方法。
【請求項３９】
１個以上のプログラムが協働して、コンピュータ・プロセッサを制御することにより、請求項２７乃至３８の何れかに記載の方法を該コンピュータ・プロセッサに実行させるための、該コンピュータで実行可能な命令を含むことを特徴とするコンピュータプログラム。
【請求項４０】
クライアント・コンピュータと、該クライアント・コンピュータと通信可能に構成されたサーバ・コンピュータとを備え、且つ、
コンピュータ・プロセッサと、該コンピュータ・プロセッサと結合したコンピュータ読み取り可能な記憶装置とを備え、
該記憶装置は、前記コンピュータ・プロセッサが実行可能な命令を含み、この命令を実行するときに、該コンピュータ・プロセッサに、請求項２７乃至３８の何れかに記載の方法を実行させる、
ことを特徴とするコンピュータシステム。
【請求項４１】
コンピュータ読み取り可能な記憶媒体を備え、
該記憶媒体に記憶された命令を実行することにより、コンピュータ・プロセッサに請求項２７乃至３８の何れかに記載の方法を行わせる、
ことを特徴とするコンピュータ。