(57)【要約】  パラメタ値付与装置５００は、要件として、対象パラメタ間もしくは任意の要素間の制約を示す制約情報と、対象パラメタもしくは任意の要素に対するパラメタ値の条件を示すパラメタ値情報とを入力する要件入力部５０１と、入力された情報に基づいて、対象パラメタの各々を１つ以上の単位ブロックに分解するパラメタ分解部５０２と、入力された制約を単位ブロック間の制約に分解し、分解後の単位ブロック間の制約を再編成する制約分解部５０３と、入力されたパラメタ値の条件を単位ブロックに対するパラメタ値の条件に分解するパラメタ値分解部５０４と、これらの分解結果に基づいて、対象パラメタの各々に値を付与する割当部５０５とを備える。
2020044876.tif 000002
【特許請求の範囲】
【請求項１】
対象パラメタである１つまたは複数のパラメタへの値付与に関する要件として、前記対象パラメタ間もしくは前記対象パラメタを構成する任意の要素間の制約を示す制約情報と、前記対象パラメタまたはその任意の要素に対するパラメタ値の条件を示すパラメタ値情報とを入力する要件入力手段と、
前記要件として入力された情報に基づいて、前記対象パラメタの各々を、１つ以上の単位ブロックに分解するパラメタ分解手段と、
前記対象パラメタの前記単位ブロックへの分解結果に基づいて、前記制約情報で示される制約を前記単位ブロック間の制約に分解し、分解後の前記単位ブロック間の制約を再編成する制約分解手段と、
前記対象パラメタの前記単位ブロックへの分解結果に基づいて、前記要件としての前記パラメタ値情報で示されるパラメタ値の条件を、前記単位ブロックに対するパラメタ値の条件に分解するパラメタ値分解手段と、
前記対象パラメタの前記単位ブロックへの分解結果、前記単位ブロック間の制約および前記単位ブロックに対するパラメタ値の条件に基づいて、前記対象パラメタの各々に値を付与する割当手段とを備える
ことを特徴とするパラメタ値付与装置。
【請求項２】
前記パラメタ分解手段は、前記制約情報で示される制約が適用されるパラメタ内の対象範囲の情報、および前記パラメタ値情報で示されるパラメタ値の条件が適用されるパラメタ内の対象範囲の情報の少なくともいずれかに基づいて、前記対象パラメタごとに、当該パラメタ内の分割位置を抽出し、抽出された分割位置に対応するパラメタ分割を合成して、前記対象パラメタの各々を前記１つ以上の単位ブロックに分解する
請求項１に記載のパラメタ値付与装置。
【請求項３】
前記制約情報は、制約関係を有する１つまたは複数のパラメタの情報と、該制約関係が適用されるそれぞれのパラメタ内の対象範囲の情報と、適用される制約の情報とを含み、
前記制約は、値の相等関係または不等関係を含み、
前記パラメタ値情報は、付与対象とされるパラメタの情報と、パラメタ内の対象範囲の情報と、該対象範囲に付与されるパラメタ値の条件とを含む
請求項１または請求項２に記載のパラメタ値付与装置。
【請求項４】
前記制約分解手段は、前記制約情報に、制約関係を有するパラメタ内の対象範囲が当該パラメタの対応する位置にある単位ブロックよりも広い範囲を示す制約が含まれている場合に、当該制約を分解する
請求項３に記載のパラメタ値付与装置。
【請求項５】
前記要件入力手段は、前記要件として、パラメタ分割の対象とされるパラメタの情報と、前記パラメタ内における任意の１つまたは複数の分割位置の情報とを含むパラメタ分割情報をさらに入力し、
前記パラメタ分解手段は、前記パラメタ分割情報を含む前記要件として入力された情報に基づいて、前記対象パラメタごとに、当該パラメタ内の分割位置を抽出し、抽出された分割位置に対応するパラメタ分割を合成して、前記対象パラメタの各々を前記１つ以上の単位ブロックに分解する
請求項１から請求項４のうちのいずれかに記載のパラメタ値付与装置。
【請求項６】
前記パラメタ分解手段は、前記対象パラメタごとに、要件として入力される情報により示されるパラメタ内の分割位置の和集合をとることでパラメタ分割を合成し、最終的に残った分割位置で当該対象パラメタを分割する
請求項２または請求項５に記載のパラメタ値付与装置。
【請求項７】
前記割当手段は、
前記対象パラメタの前記単位ブロックへの分解結果と、前記単位ブロック間の制約とに基づいて、前記対象パラメタの全ての単位ブロックを分類するパラメタ分類手段と、
前記単位ブロックの分類結果と、前記単位ブロックに対するパラメタ値の条件とに基づいて、分類後の前記単位ブロックの各々に対して値を付与する値付与手段とを含む
請求項１から請求項６のうちのいずれかに記載のパラメタ値付与装置。
【請求項８】
前記パラメタ分類手段は、前記対象パラメタの全ての単位ブロックを、同じ値が付与される単位ブロック同士でグループ化された１つまたは複数のグループに分類し、さらに、分類後のグループを、グループ間の関係性を示す辺によって接続したグラフを導出し、
前記値付与手段は、前記グラフで示される前記単位ブロックのグループおよびグループ間の関係性と、前記単位ブロックに対するパラメタ値の条件とに基づいて、分類後の前記単位ブロックの各々に対して値を付与する
請求項７に記載のパラメタ値付与装置。
【請求項９】
情報処理装置が、
対象パラメタである１つまたは複数のパラメタへの値付与に関する要件として入力される、前記対象パラメタ間もしくは前記対象パラメタを構成する任意の要素間の制約を示す制約情報と、前記対象パラメタまたはその任意の要素に対するパラメタ値の条件を示すパラメタ値情報とを受け付け、
前記要件として入力された情報に基づいて、前記対象パラメタの各々を、１つ以上の単位ブロックに分解し、
前記対象パラメタの前記単位ブロックへの分解結果に基づいて、前記制約情報で示される制約を、前記単位ブロック間の制約に分解し、分解後の前記単位ブロック間の制約を再編成し、
前記対象パラメタの前記単位ブロックへの分解結果に基づいて、前記要件としての前記パラメタ値情報で示されるパラメタ値の条件を、前記単位ブロックに対するパラメタ値の条件に分解し、
前記対象パラメタの前記単位ブロックへの分解結果、前記単位ブロック間の制約および前記単位ブロックに対するパラメタ値の条件に基づいて、前記対象パラメタの各々に値を付与する
ことを特徴とするパラメタ値付与方法。
【請求項１０】
コンピュータで実行されるときに、
対象パラメタである１つまたは複数のパラメタへの値付与に関する要件として入力される、前記対象パラメタ間もしくは前記対象パラメタを構成する任意の要素間の制約を示す制約情報と、前記対象パラメタまたはその任意の要素に対するパラメタ値の条件を示すパラメタ値情報とを受け付け、
前記要件として入力された情報に基づいて、前記対象パラメタの各々を、１つ以上の単位ブロックに分解し、
前記対象パラメタの前記単位ブロックへの分解結果に基づいて、前記制約情報で示される制約を、前記単位ブロック間の制約に分解し、分解後の前記単位ブロック間の制約を再編成し、
前記対象パラメタの前記単位ブロックへの分解結果に基づいて、前記要件としての前記パラメタ値情報で示されるパラメタ値の条件を、前記単位ブロックに対するパラメタ値の条件に分解し、
前記対象パラメタの前記単位ブロックへの分解結果、前記単位ブロック間の制約および前記単位ブロックに対するパラメタ値の条件に基づいて、前記対象パラメタの各々に値を付与する
パラメタ値付与プログラム
を記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＴ（Information Technology）システムで用いられるパラメタに対して、入力された要件に従い値を付与するパラメタ値付与装置およびパラメタ値付与方法に関する。
【背景技術】
【０００２】
ＩＴシステムでは、多くのパラメタが用いられている。例えば、ネットワークを介した通信を行うＩＴシステムでは、通信が必要な構成要素の各々に対して自身の機器情報としてＩＰ（Internet Protocol ）アドレスの割り当てが行われる。各構成要素は、割り当てられたＩＰアドレスを用いて通信を行う。ＩＴシステムは、予め通信が必要な構成要素の各々のＩＰアドレスを格納するパラメタを用意しておき、運用時にそれらパラメタに付与された値を読み込むことで、ある程度自由な割り当てを許容する。システム設計者は、自身が意図した挙動をシステムが示すよう、システムが使用するパラメタに正しく値（本例では、ＩＰアドレス）を付与する必要がある。【０００３】
しかし、ＩＰアドレスのように、一定の書式がありつつもある程度の自由度もあるようなパラメタであって、かつ他の構成要素のＩＰアドレスとの関係等、複数のパラメタ間での制約もあるようなパラメタの場合、条件が複雑なため値の付与を自動化することが難しく人手に頼っているのが現状である。【０００４】
システムパラメタや各種設定値の決定に関し、例えば、特許文献１には、サーバに付与するＩＰアドレスのような、情報システムの構成情報設定ファイルにおいて特定の構成要素群をグループ化しそのグループ内で一意となるパラメタを割り振るための方法が記載されている。【０００５】
また、特許文献２には、プログラム中の分岐条件に含まれる複数の変数の参照先の記憶領域が部分的に重複する場合でも適切なテストデータを生成する方法が記載されている。特許文献２に記載の方法は、記録領域を共通の変数ごとに複数のビット列に分割して、該ビット列に対応する制約条件を決定する。これにより、分岐条件で用いられる変数群に参照先の記憶領域が部分的に重複する複数の変数があった場合でも、重複する記録領域が１つのシンボルとして扱われて、各々変数が満たすべき条件が適切に導出できる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】国際公開第２０１６／１８９８３４号
【特許文献２】特開２０１４−１９９４７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ＩＰアドレスの自動付与が困難な要因は、ＩＰアドレスが、全体としての書式は統一されているが、個々の要素の書式は統一されておらず、ＩＰアドレスを構成する要素間で一定の自由度が許容されている点にあると考えられる。このような全体制約の下である程度の自由度が許容された複数の要素の集合体として定義されるパラメタに対して、いかに自由度を維持したまま、設計者が意図した挙動を示す正しい値を自動で（すなわち、全てのパラメタに対して、構成要素ごとに逐一値の条件を設計者等が指定しなくても）付与できるようにするかが大きな課題である。【０００８】
特許文献１に記載された方法は、まずルールの適用順序に従って実行するルールを選択した上で、選択した該ルールに従ってグループ化およびルールの実行（グループ毎に要素の決定）を繰り返す。ルールは、パラメタの割当対象となる項目ＩＤと、要素をグループ化するときの基準となる項目ＩＤとを包含する。さらに、ルールは、候補パラメタ集合、割り当て方法およびスコープの指定を含んでよい、とされている。【０００９】
しかし、特許文献１に記載された方法は、ルールをひとつずつ適用していくので、グループ化の対象とされた要素が他のグループ化の対象とされた要素と重複しており、かつ異なる割り当て方法を有している場合等には、適用できない。したがって、特許文献１に記載された方法を適用しようとすると、設計者側で、全てのパラメタについてグループ化するときの基準となる項目ＩＤが他の要素と重複しないよう（すなわち最小の単位となるように）逐一指定する等の工夫が必要となる。【００１０】
また、特許文献２に記載された方法は、あくまでプログラムの分岐条件の数に応じた複数の処理パスを満たすようなテストデータを生成する方法であり、そのような場合における記憶領域の分割方法がそのままパラメタの分割やパラメタ内の要素のグループ化に適用できるわけではない。そもそもある１つのパラメタを分割しようと考えた場合に、該パラメタを参照する、分岐条件に用いられる複数の変数自体が想起されないため、具体的にどのように分割するかという問題が解決されない。【００１１】
仮に、特許文献２に記載された方法を、同じパラメタ内の一部重複する要素に対して複数の制約条件が設定された場合に、該制約条件に用いられる共通の変数であるパラメタを分割する方法として適用しようとした場合には、次のような問題がある。すなわち、特許文献２に記載された方法は、予め表現形式が決まっており、かつその取り扱い方法も決まっている複数の変数の参照先とする記憶領域を適宜分割して値を適切に付与する方法にすぎない。当該方法では、構成が固定でない複数のパラメタをいかに適切に、複数のパラメタ間またはその任意の要素間の制約や、パラメタやその任意の要素に対する値の条件にて適合させて分割するかについては何ら考慮されていない。例えば、特許文献２には、該記憶領域を、複数の変数それぞれの表現形式における１要素当たりのビット数の最大公約数分の連続するビットであるビット列に均一に分割する方法が開示されているが、上記のようなパラメタの場合、各制約において指定された表現形式における１要素当たりのビット数の最大公約数分のビット列で均一に分割することが必ずしも最適とは限らない。【００１２】
そこで、本発明は、要素の区切り方に所定の自由度がある１つまたは複数の要素によって構成されるパラメタのように、構成が固定でないパラメタに対しても、元々の自由度を残したまま入力される要件に従って値を付与できるパラメタ値付与装置およびパラメタ値付与方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明の一観点におけるパラメタ値付与装置は、対象パラメタである１つまたは複数のパラメタへの値付与に関する要件として、対象パラメタ間もしくは対象パラメタを構成する任意の要素間の制約を示す制約情報と、対象パラメタまたはその任意の要素に対するパラメタ値の条件を示すパラメタ値情報とを入力する要件入力手段と、要件として入力された情報に基づいて、対象パラメタの各々を、１つ以上の単位ブロックに分解するパラメタ分解手段と、対象パラメタの単位ブロックへの分解結果に基づいて、制約情報で示される制約を、単位ブロック間の制約に分解し、分解後の単位ブロック間の制約を再編成する制約分解手段と、対象パラメタの単位ブロックへの分解結果に基づいて、要件としてのパラメタ値情報で示されるパラメタ値の条件を、単位ブロックに対するパラメタ値の条件に分解するパラメタ値分解手段と、対象パラメタの単位ブロックへの分解結果、単位ブロック間の制約および単位ブロックに対するパラメタ値の条件に基づいて、対象パラメタの各々に値を付与する割当手段とを備えることを特徴とする。【００１４】
また、本発明の一観点におけるパラメタ値付与方法は、情報処理装置が、対象パラメタである１つまたは複数のパラメタへの値付与に関する要件として入力される、対象パラメタ間もしくは対象パラメタを構成する任意の要素間の制約を示す制約情報と、対象パラメタまたはその任意の要素に対するパラメタ値の条件を示すパラメタ値情報とを受け付け、要件として入力された情報に基づいて、対象パラメタの各々を、１つ以上の単位ブロックに分解し、対象パラメタの単位ブロックへの分解結果に基づいて、制約情報で示される制約を、単位ブロック間の制約に分解し、分解後の単位ブロック間の制約を再編成し、対象パラメタの単位ブロックへの分解結果に基づいて、要件としてのパラメタ値情報で示されるパラメタ値の条件を、単位ブロックに対するパラメタ値の条件に分解し、対象パラメタの単位ブロックへの分解結果、単位ブロック間の制約および単位ブロックに対するパラメタ値の条件に基づいて、対象パラメタの各々に値を付与することを特徴とする。【００１５】
また、本発明の一観点におけるパラメタ値付与プログラムを記録したコンピュータ読み取り可能な記録媒体は、コンピュータで実行されるときに、対象パラメタである１つまたは複数のパラメタへの値付与に関する要件として入力される、対象パラメタ間もしくは対象パラメタを構成する任意の要素間の制約を示す制約情報と、対象パラメタまたはその任意の要素に対するパラメタ値の条件を示すパラメタ値情報とを受け付け、要件として入力された情報に基づいて、対象パラメタの各々を、１つ以上の単位ブロックに分解し、対象パラメタの単位ブロックへの分解結果に基づいて、制約情報で示される制約を、単位ブロック間の制約に分解し、分解後の単位ブロック間の制約を再編成し、対象パラメタの単位ブロックへの分解結果に基づいて、要件としてのパラメタ値情報で示されるパラメタ値の条件を、単位ブロックに対するパラメタ値の条件に分解し、対象パラメタの単位ブロックへの分解結果、単位ブロック間の制約および単位ブロックに対するパラメタ値の条件に基づいて、対象パラメタの各々に値を付与するパラメタ値付与プログラムを記憶する。
【発明の効果】
【００１６】
本発明によれば、構成が固定でないパラメタに対しても、元々の自由度を残したまま入力される要件に従って適切な値を付与できる。
【図面の簡単な説明】
【００１７】
【図１】第１の実施形態のパラメタ値付与装置の構成例を示すブロック図である。
【図２】パラメタ情報の例を示す説明図である。
【図３】パラメタ分割情報の例を示す説明図である。
【図４】パラメタ間制約情報の例を示す説明図である。
【図５】パラメタ値情報の例を示す説明図である。
【図６】パラメタ分割の合成例を示す説明図である。
【図７】パラメタ分割の合成をビット列における分割位置の合成として表現した説明図である。
【図８】パラメタの分解結果の例を示す説明図である。
【図９】パラメタ間制約の分解に用いる制約展開規則の例を示す説明図である。
【図１０】制約関係にある２つの対象パラメタの単位ブロックの共通化の例を示す説明図である。
【図１１】パラメタ間制約の分解結果の例を示す説明図である。
【図１２】パラメタ値の分解結果の例を示す説明図である。
【図１３】要件の分解結果の例を示す説明図である。
【図１４】パラメタの単位ブロックの分類結果の例を示す説明図である。
【図１５】対象パラメタの各単位ブロックへの値付与の結果例を示す説明図である。
【図１６】第１の実施形態のパラメタ値付与装置の動作の一例を示すフローチャートである。
【図１７】パラメタ分解部１２１によるパラメタ分解動作のより詳細な例を示すフローチャートである。
【図１８】制約分解部１２２によるパラメタ間制約の分解動作のより詳細な例を示すフローチャートである。
【図１９】パラメタ値分解部１２３によるパラメタ値分解動作のより詳細な例を示すフローチャートである。
【図２０】割当部１３によるパラメタ値割当動作のより詳細な例を示すフローチャートである。
【図２１】本発明の第２の実施形態のパラメタ値付与装置の概要を示すブロック図である。
【図２２】本発明の実施形態にかかるコンピュータの構成例を示す概略ブロック図である。
【発明を実施するための形態】
【００１８】
実施形態１．
以下、本発明の実施形態について図面を参照して説明する。まず、後述する実施形態２．をより具体的に記載した実施形態１．について説明する。図１は、第１の実施形態のパラメタ値付与装置の構成例を示すブロック図である。図１に示すパラメタ値付与装置１０は、要件入力部１１と、要件分解部１２と、割当部１３と、出力部１４とを備える。
【００１９】
本例において、要件入力部１１と要件分解部１２とは通信可能に接続されている。また、要件分解部１２と割当部１３とは通信可能に接続されている。また、割当部１３と出力部１４とは通信可能に接続されている。
【００２０】
要件入力部１１は、ＩＴシステムが用いる１つまたは複数のパラメタに対して値を付与するための要件を入力する。本実施形態では、例えば、要件として、パラメタ情報、パラメタ分割情報、パラメタ間制約情報およびパラメタ値情報を入力する。
【００２１】
パラメタ情報は、値付与の対象とするパラメタ（対象パラメタという）に関する情報である。パラメタ情報は、例えば、対象パラメタがＩＴシステムにおいてどのようなパラメタであるかを示す情報や、パラメタ全体のデータ構造を示す情報を含んでいてもよい。また、パラメタ分割情報は、対象パラメタに含まれる複数の要素がどのように分割可能か（例えば、分割可能な位置）を示す情報である。また、パラメタ間制約情報は、対象パラメタ間の制約を示す情報である。なお、パラメタ間制約情報で示される制約は、対象パラメタ同士の制約に限定されず、例えば、対象パラメタを構成する要素間の制約を含んでいてもよい。ここで、要素間の制約は、同一パラメタの要素間の制約でもよいし、異なるパラメタの要素間でもよい。いずれの場合であっても、以下では「パラメタ間の制約」というが、単に「制約」と呼ぶ場合もある。また、パラメタ値情報は、対象パラメタの少なくとも一部に付与するパラメタ値に関する情報である。
【００２２】
図２〜図５は、入力される要件の例を示す説明図である。なお、図２は、パラメタ情報の例を示す説明図である。図３は、パラメタ分割情報の例を示す説明図である。図４は、パラメタ間制約情報の例を示す説明図である。図５は、パラメタ値情報の例を示す説明図である。
【００２３】
図２に示すパラメタ情報は、対象パラメタの名称と、属性と、長さとを含んでいる。名称は、少なくともパラメタ値付与装置１０において各対象パラメタを識別できる情報であればよい。例えば、対象パラメタとその適用先の機器が１対１で対応する場合は、対象パラメタの名称として、該対象パラメタが適用される機器（ＩＴシステムの構成要素）の名称が用いられてもよい。そのような機器の名称例としては、例えば、“ＤＮＳ（Domain Name system）サーバＸＸ”、“ＷｅｂサーバＸＸ”、“ファイアウォールＸＸ”、“ルータＸＸ”、“ＮＩＣ（Network Interface Card）ＸＸ”等が挙げられる（ＸＸは任意の文字等）。なお、適用先の機器にＩＤ等の識別子があればその識別子が利用されてもよい。また、対象パラメタと適用先の機器が１対１で対応しない場合（例えば、その機器に対して複数の対象パラメタが割り当てられる場合等）は、“機器名称＋パラメタ種別”等がパラメタの名称として用いられてもよい。なお、パラメタの名称は、適用先の機器とは独立していてもよく、個々の対象パラメタに対して固有の識別子が割り当てられてもよい。
【００２４】
また、属性は、対象パラメタがどのようなパラメタであるかを示す種別であってもよい。以下では、対象パラメタがＩＰｖ４アドレスである場合を例示するが、対象パラメタはＩＰｖ４アドレスに限られず、例えば、ＩＰｖ６アドレスやＵＲＬ（Uniform Resource Locator）等であってもよい。なお、パラメタの名称からどのようなパラメタかが特定できる場合、属性は省略可能である。
【００２５】
長さは、例えば、対象パラメタの全長（本例では、ビット長）であってもよい。また、対象パラメタが可変長であれば、対象パラメタが取り得る長さの範囲であってもよい。また、長さは、全長以外にも、複数の要素で構成されている場合には要素ごとの長さであってもよい。
【００２６】
図３に示すパラメタ分割情報は、対象パラメタの名称と、パラメタ分割に関する情報とを含んでいる。名称は、対象パラメタを識別できればよく、例えば、パラメタ情報の名称であってもよい。また、パラメタ分割に関する情報は、対象パラメタが複数の要素により構成される場合に、その要素の範囲（分割位置）を示す情報であってもよい。例えば、Ｎｏ．１のパラメタ分割情報は、名称が“AA”のパラメタ（長さ３２ビットのＩＰｖ４アドレス）が、対象システムにおいて、上位１６ビットを１つのユニット（要素）として分割されることを表している。また、例えば、Ｎｏ．３のパラメタ分割情報は、名称が“AA”のパラメタ（長さ３２ビットのＩＰｖ４アドレス）が、対象システムにおいて、上位２４ビットを１つのユニット（要素）として分割されることを表している。
【００２７】
なお、本例では、要件としてパラメタ分割情報が入力されることを想定しているが、パラメタ分割情報は、後述するパラメタ間制約情報やパラメタ値情報において示されるパラメタの分割位置（対象範囲等）に基づいてパラメタ値付与装置が生成することも可能である。
【００２８】
図４に示すパラメタ間制約情報は、制約関係を有する対象群（パラメタの名称およびそのパラメタ内の対象範囲で指定される対象の集合）と、該対象群に適用される制約（対象間の関係）とを含んでいる。なお、図４（ａ）に示すように、パラメタ間制約情報は、各項目が独立して登録されていてもよいし、図４（ｂ）に示すように、対象範囲を定めたパラメタ同士の制約式の形式で登録されてもよい。
【００２９】
例えば、Ｎｏ．１のパラメタ間制約情報は、名称が“AA”と“BB”のパラメタ間において上位２４ビットが異なることを表している。なお、制約内容（上記パラメタ間の関係）は、等しい（相等関係）、等しくない（不当関係）といった２種類の関係に限らず、不等号で表されるような大小関係も含み得る。なお、Ｎｏ．１およびＮｏ．２のパラメタ間制約情報のように、同じパラメタの組み合わせに対して対象範囲が異なる２以上の制約を登録することも可能である。
【００３０】
図５に示すパラメタ値情報は、対象パラメタの名称と、その対象パラメタに値を付与する対象の範囲（該値が付与される対象となるパラメタ内の位置情報）と、該対象に付与するパラメタ値の条件（該対象に付与可能な値や付与不可能な値の集合等）とを含んでいる。
【００３１】
例えば、Ｎｏ．１のパラメタ値情報は、名称が“AA”のパラメタ（長さ３２ビットのＩＰｖ４アドレス）の上位１６ビットが、“192.168 ”の値をとり得ることを表している。なお、図中の対象“[1,16]”が、対象パラメタのうち値が付与される対象が上位１６ビットであることを表している。また、例えば、Ｎｏ．３のパラメタ値情報は、名称が“AA”のパラメタ（長さ３２ビットのＩＰｖ４アドレス）の上位２４ビットが、“192.168.1 〜192.168.8 ”のうちのいずれかの値をとり得ることを表している。なお、図中の対象“[1,24]”が、対象パラメタのうち値が付与される対象が上位２４ビットであることを表している。なお、パラメタ値情報におけるデータ形式は、ＩＰアドレスのような順序関係を持つパラメタに限られない。例えば、ＵＲＬのようなパラメタであっても同様に指定可能である。なお、パラメタ値は、数字に限られない。
【００３２】
なお、図中のＮｏ．１とＮｏ．３や、Ｎｏ．２とＮｏ．４のように、１つの対象パラメタに対して、重複する部分を付与対象に含むパラメタ値情報を登録することも可能である。なお、付与対象の範囲が重複した部分（本例では、上位１６ビット部）に対して、同じパラメタ値が登録されることが好ましいが、完全一致でなく一部一致（例えば、一方のパラメタ値の候補となる集合に含まれる値等）であってもよい。なお、仮に、一部一致もしていない（完全に異なる）場合は、その旨を示すエラーが表示されたり、予め定めておいた登録の優先順位に従って値が決定されたりしてもよい。
【００３３】
要件分解部１２は、入力された要件を、後述する単位ブロックごとの要件に分解する。要件分解部１２は、少なくともパラメタ分割情報により示されるパラメタの分割位置に基づいて、対象パラメタの分割（より具体的には、パラメタ内の対象範囲を定める分割位置）を合成し、合成したパラメタの分割に基づいて、パラメタを、値付与の単位とされる単位ブロックに分解し、該分解結果に応じて単位ブロック別に制約およびパラメタ値の規定を分解する処理を行う。以下では、このような、パラメタの分解を合成し、その結果分解されたパラメタの単位ブロック別に制約およびパラメタ値の規定を分解することを、要件の再構築または要件の単位ブロック分解と呼ぶ場合がある。
【００３４】
また、図１に示すように、要件分解部１２は、パラメタ分解部１２１と、制約分解部１２２と、パラメタ値分解部１２３とを含んでいてもよい。そのような場合において、パラメタ分解部１２１は、要件入力部１１、制約分解部１２２、パラメタ値分解部１２３および割当部１３と通信可能に接続されていてもよい。また、制約分解部１２２は、パラメタ分解部１２１およびパラメタ分類部１３１と通信可能に接続されていてもよい。また、パラメタ値分解部１２３は、パラメタ分解部１２１および割当部１３と通信可能に接続されていてもよい。
【００３５】
パラメタ分解部１２１は、入力された要件に基づいて、対象パラメタを、パラメタ間の制約関係を加味した値付与の単位とされる単位ブロックに分解する。より具体的には、パラメタ分解部１２１は、入力された要件によって示される対象パラメタの分割位置に基づいてパラメタ分割を合成し、合成後のパラメタ分割に従って対象パラメタの各々を１つ以上の単位ブロックに分解する。
【００３６】
ここで、パラメタについて「分割の合成」とは、より具体的には分割位置の合成をいう。パラメタ分解部１２１は、例えば、対象パラメタごとに分類されたパラメタ分割情報、制約情報およびパラメタ値情報に基づいて、各対象パラメタに対して指定される分割位置の全ての和集合をとることで、パラメタの分解を合成できる。パラメタ分解部１２１は、和集合をとった後の分割位置それぞれを１つのパラメタ分割として、パラメタ分割情報を書きなおしてもよい。このようにして書きなおされたパラメタ分割情報により示される対象パラメタ内の各ブロックは、値付与の単位とされる。なお、この書きなおしの処理は、対象パラメタごとに、パラメタをどこで分割するかを示す分割位置情報が１つまたは複数指定されたパラメタ分割情報における分割位置情報を併合することにより、単一のパラメタ分割情報に統合する処理であってもよい。
【００３７】
本発明では、入力された要件で示されるパラメタ分割の合成結果に基づいて、１つのパラメタを、１つ以上の単位ブロックに分割することを「パラメタの分解」という。
【００３８】
なお、既に説明したように、パラメタ分割情報が要件として入力されない場合には、パラメタ分解部１２１が、パラメタ間制約情報やパラメタ値情報に基づいて、対象パラメタごとに要件としてのパラメタの分割位置を示すパラメタ分割情報を生成した上で、同様の処理を行ってもよい。
【００３９】
図６は、パラメタ分割の合成例を示す説明図である。図６に示すように、パラメタ分解部１２１は、まず、要件として指定されたパラメタの分割位置を収集し、対象パラメタごとに分類する。次に、対象パラメタごとに分類された分割位置の和集合をとり、該和集合に含まれる各分割位置に対応させて、パラメタ分割情報を書きなおす。書きなおされたパラメタ分割情報により示される分割後の各ブロックが単位ブロックとなる。
【００４０】
本例では、合計３２ビットの対象パラメタ“AA”および“BB”のそれぞれについて、上位２４ビット目を１つの区切りとするパラメタ分割と、上位１６ビット目を１つの区切りとするパラメタ分割とを合成した結果、１６ビット目および２４ビット目をそれぞれ区切りとするパラメタ分割情報に書きなおされる。また、図７は、図６に示したパラメタ分割の合成例を、ビット列における分割位置の合成として表現しなおしたものである。図７において、Ｓ１は当該パラメタにおける第１のパラメタ分割、Ｓ２は第２のパラメタ分割、ＳＳ１は合成後のパラメタ分割を表している。このようにして書きなおされたパラメタ分割情報により、合成後のパラメタ分割が、対象パラメタを、１−１６ビットを第１の単位ブロックとし、１７−２４ビットを第２の単位ブロックとし、２５−３２ビットを第３の単位ブロックとして分解することが示されている。
【００４１】
また、図８は、パラメタ分解の結果例を示す説明図である。例えば、図２で示される対象パラメタ“AA”および“BB”の場合、パラメタ分解部１２１は、図６で示される合成後のパラメタ分割情報に基づいて、それぞれ１−１６ビットを第１の単位ブロックとするパラメタ分解と、１７−２４ビットを第２の単位ブロックとするパラメタ分解と、２５−３２ビットを１つの単位とする第３の単位ブロックの３つの単位ブロックに分解すればよい。なお、図８において、Ｄ１１は元々のパラメタ情報、Ｄ１２は合成後のパラメタ分割情報、Ｄ１３は合成後のパラメタ分割情報に基づく分解後のパラメタ情報を表している。
【００４２】
なお、長さは固定でないパラメタの場合、分割位置を示す情報としてビット長の代わりに区切り文字の情報やその順番（先頭から何番目〜何番目の範囲）等を指定することができる。例えば、ＵＲＬであれば、先頭から第１の区切り文字までの範囲を第１の単位ブロックとし、第１の区切り文字〜第２の区切り文字の範囲を第２の単位ブロックとする、といった指定が可能である。
【００４３】
制約分解部１２２は、合成後のパラメタ分割を示すパラメタ分割情報または分解後のパラメタ情報に基づいて、パラメタ間制約を分解する。制約分解部１２２は、より具体的には、パラメタ間の制約が単位ブロックごとに規定されるよう、パラメタ間制約情報に示されるパラメタ間制約を分解する。なお、制約分解部１２２は、制約の分解を、制約展開規則を用いて行えばよい。
【００４４】
図９は、パラメタ間制約の分解に用いる制約展開規則の例を示す説明図である。図９に示す例は、パラメタ“N ”と“M ”との間に設定された、各々のパラメタ内のａ〜ｃを範囲とする制約を、単位ブロックを単位とする制約に分解する場合の制約展開規則の例である。このとき、分解後のパラメタの情報には、パラメタ“N ”および“M ”が、“[a,b] ”を範囲とする第１の単位ブロック、“[b+1,c] ”を範囲とする第２の単位ブロックを有する旨が示されている。
【００４５】
本例の場合、ａ〜ｃを範囲とするＮｏ．１のパラメタ間制約は、ａ〜ｂを範囲とするＮｏ．１−１のパラメタ間制約と、Ｎｏ．１−２のパラメタ間制約のいずれかを満たすという論理和で結ばれる複数の制約に分解される。
【００４６】
なお、図９に示す例では、制約関係にある対象パラメタ同士で単位ブロックの分割位置が同じである場合が想定されているが、制約関係にある対象パラメタ同士で単位ブロックの分割位置は異なっていてもよい。その場合、制約分解部１２２が、さらに当該対象パラメタ同士のパラメタ分割を合成し、対象パラメタ間で共通の単位ブロックの分割位置を定め、該共通の単位ブロックの分解位置に基づいて制約を分解すればよい。
【００４７】
図１０は、制約関係にある２つの対象パラメタの単位ブロックの共通化の例を示す説明図である。図１０（ａ）は共通化される前の２つの対象パラメタの単位ブロックの例を示し、図１０（ｂ）は共通化された後の２つの対象パラメタの単位ブロックの例を示す説明図である。なお、パラメタ分解部１２１がこのような制約関係にあるパラメタ同士の単位ブロックの共通化処理を行ってもよい。
【００４８】
図１１は、図４（ｂ）に示したパラメタ間制約の分解結果の例を示す説明図である。図１１に示す例では、パラメタ“AA”と“BB”間の制約のうち、Ｎｏ．１の制約が２つの単位ブロック間の制約に分解された結果、最終的に、Ｎｏ．１−２の制約と、Ｎｏ．２の制約に集約された例が示されている。このように、分解後の制約と既存の制約とを組み合わせた際に矛盾が生じた場合には、矛盾のない組み合わせに再編成（集約）される。
【００４９】
パラメタ値分解部１２３は、合成後のパラメタ分割を示すパラメタ分割情報または分解後のパラメタ情報に基づいて、パラメタ値（より具体的には、パラメタ値の条件で示されるパラメタ値）を分解する。パラメタ値分解部１２３は、より具体的には、パラメタ値条件が単位ブロックごとに規定されるよう、パラメタ値情報で示されるパラメタ値を分解する。
【００５０】
図１２は、パラメタ値の分解結果の例を示す説明図である。図１２に示す例では、パラメタ“AA”について、１〜１６ビットの範囲に対してパラメタ値“192.168 ”を規定したＮｏ．１のパラメタ値情報と、１〜２４ビットの範囲に対してパラメタ値“192.168.1 ~192.168.8 ”を規定したＮｏ．２のパラメタ値情報とに基づいて、少なくとも１〜２４ビットに対するパラメタ値が、第１の単位ブロックに対するパラメタ値“192.168 ”と、第２の単位ブロックに対するパラメタ値“1~8 ”に分解される。なお、図１２は、パラメタ値の条件が設定されていない、すなわち属性に従い任意の値を持ち得る単位ブロックの情報も併せて示している。
【００５１】
図１３は、要件の分解結果の例を示す説明図である。図中の（ａ）はパラメタ情報の単位ブロック分解の例、（ｂ）はパラメタ間制約の単位ブロック分解の例、（ｃ）はパラメタ値の単位ブロック分解の例である。
【００５２】
割当部１３は、要件分解部１２により単位ブロック別に分解された要件（パラメタ情報、パラメタ間制約情報およびパラメタ値情報）に基づいて、対象パラメタに値を付与する。本実施形態では、割当部１３に入力される要件は既に要件分解部１２によって単位ブロックごとに分解されているため、割当部１３は、入力される分解後の要件にしたがって、対象パラメタ内の各単位ブロックに値を割り当てればよい。
【００５３】
割当部１３は、図１に示すように、パラメタ分類部１３１と、パラメタ値付与部１３２とを含んでいてもよい。そのような場合において、パラメタ分類部１３１は、パラメタ分解部１２１、制約分解部１２２およびパラメタ値付与部１３２と通信可能に接続されていてもよい。また、パラメタ値付与部１３２は、パラメタ分類部１３１およびパラメタ値分解部１２３と通信可能に接続されていてもよい。
【００５４】
パラメタ分類部１３１は、単位ブロック別に分解された要件に従い、各対象パラメタの各単位ブロックを、制約関係のある同士で分類する。このとき、パラメタ分類部１３１は、等しい関係にある単位ブロック同士を１つのグループに分類するとともに、等しくない関係にある単位ブロック同士を別々のグループに分類する。そして、パラメタ分類部１３１は、等しくない関係にあるグループ同士を等しくない旨を示すリンクで接続してもよい。なお、等しい関係、等しくない関係以外にも大小関係が設定されている場合には、パラメタ分類部１３１は、等しくない関係として別々のグループに分類した上で、それらグループの大小関係を示す情報を付随させてもよい。なお、パラメタ分類部１３１は、他のいずれの単位ブロックとも制約関係のない単位ブロックについては分類対象から除外してもよいし、それ用の１つまたは複数のグループにまとめてもよい。パラメタの単位ブロックの分類を実現する方法の一例としては、Ｕｎｉｏｎｆｉｎｄアルゴリズムが挙げられる。この場合、分類結果は、異なるパラメタの単位ブロック間の関係性を示すグラフとしてパラメタ値付与部１３２に出力される。
【００５５】
図１４は、パラメタの単位ブロックの分類結果の例を示す説明図である。例えば、図１４に示す例の場合、パラメタ“AA”の第１の単位ブロック（１−１６ビット部）とパラメタ“BB”の第１の単位ブロック（１−１６ビット部）とは、同じグループに分類される。一方、パラメタ“AA”の第２の単位ブロック（１７−２４ビット部）とパラメタ“BB”の第２の単位ブロック（１７−２４ビット部）とは、異なるグループに分類される。なお、パラメタ“AA”の第３の単位ブロック（２５−３２ビット部）とパラメタ“BB”の第３の単位ブロック（２５−３２ビット部）とは、同じグループに分類されてもよいし、異なるグループに分類されてもよい。なお、図中の太枠がグループを表し、グループ間の二重線は当該グループ同士が異なる値を有することを表している。なお、グループ間に何ら接続線がない場合はそれらグループ同士に何ら制約がないことを表している。
【００５６】
パラメタ値付与部１３２は、パラメタ分類部１３１によって分類された単位ブロック群に対して、分解後のパラメタ間制約およびパラメタ値（すなわち単位ブロック間の制約および単位ブロック別のパラメタ値）に基づいて、値を割り当てる。パラメタの単位ブロックに対する値の割り当ての実現方法の一例としては、グラフ彩色アルゴリズムが挙げられる。パラメタ値付与部１３２は、所定の方法に従い、例えば、分類により１つにまとめられた単位ブロック群には全て同じ値を割り当ててもよい。
【００５７】
図１５は、対象パラメタの各単位ブロックへの値付与の結果例を示す説明図である。図１５には、パラメタ“AA”の第１の単位ブロックにパラメタ値“192.168 ”、第２の単位ブロックに“1 ”、および第３の単位ブロックに“1 ”が割り当てられた例が示されている。また、パラメタ“BB”の第１の単位ブロックにパラメタ値“192.168 ”、第２の単位ブロックに“2 ”、および第３の単位ブロックに“1 ”が割り当てられた例が示されている。
【００５８】
次に、本実施形態の動作を説明する。図１６は、第１の実施形態のパラメタ値付与装置の動作の一例を示すフローチャートである。図１６に示す例では、まず、要件入力部１１が、ＩＴシステムが用いる１つまたは複数のパラメタに対して値を付与するための要件を入力する（ステップＳ１１：要件入力）。要件入力部１１は、要件として、少なくともパラメタ情報、パラメタ間制約情報およびパラメタ値情報を入力する。なお、要件入力部１１は、要件として、さらにパラメタ分割情報を入力してもよい。
【００５９】
次に、要件分解部１２が、入力された要件を、単位ブロックごとの要件に分解する（ステップＳ１２：要件分解）。要件分解部１２は、例えば、全ての対象パラメタについて、入力された要件により示される対象パラメタの分割を合成し、合成後のパラメタ分割に基づいて対象パラメタ、対象パラメタにかかるパラメタ間制約およびパラメタ値を分解する。
【００６０】
全ての対象パラメタの全ての要件の分解が完了すると（ステップＳ１３のＹｅｓ）、割当部１３が、分解後の要件に基づいて対象パラメタに値を割り当てる（ステップＳ１４：パラメタ値割当）。割当部１３は、単位ブロックごとに分解された要件に従い、全ての対象パラメタの全ての単位ブロックに値を割り当てればよい。これにより、対象パラメタに値が付与される。
【００６１】
なお、全ての要件の分解が完了していない場合（ステップＳ１３のＮｏ）、パラメタ値付与装置１０は、ステップＳ１２に戻って残った要件の分解を行えばよい。パラメタ値付与装置１０は、全ての要件の分解が完了したか否かを、ステップＳ１１で入力された要件が全て単位ブロックごとに規定されているか否かによって判定してもよい。
【００６２】
最後に、出力部１４が、割当部１３の割り当て結果を出力する（ステップＳ１５）。
【００６３】
また、図１７は、パラメタ分解部１２１によるパラメタ分解動作のより詳細な例を示すフローチャートである。図１７に示す動作は、上記のステップＳ１２の要件分解動作のうちの一部に相当する。
【００６４】
図１７に示す例では、まず、パラメタ分解部１２１は、入力された要件を取得する（ステップＳ２１）。ステップＳ２１では、パラメタ分解部１２１は、入力としてパラメタ情報、パラメタ分割情報、パラメタ間制約情報およびパラメタ値情報をユーザから受け取る。なお、これらの情報は入力情報の一例であり、これに限定されない。
【００６５】
次に、パラメタ分解部１２１は、取得したこれら全ての情報を、パラメタごとに分類してパラメタごとのパラメタ分割を抽出する（ステップＳ２２）。ここで分類対象とされるパラメタ分割は、パラメタ分割情報に示されるパラメタの分割に限られず、例えば、パラメタ間制約情報やパラメタ値情報の対象範囲等で示されるパラメタの分割も含まれ得る。
【００６６】
パラメタ分解部１２１は、例えば、パラメタ分割情報、パラメタ間制約情報およびパラメタ値情報をパラメタごとに分類し、分類されたパラメタごとのパラメタ分割情報、パラメタ間制約情報およびパラメタ値情報から、当該パラメタの分解位置を示すパラメタ分割を抽出してもよい。パラメタの分類は、例えば、各情報からパラメタの名称等の識別子を参照し、同じ識別子を含む情報を１つのグループにまとめてもよい。その場合、パラメタ間制約情報は、少なくとも２つのグループに属することになる。
【００６７】
例えば、図３〜図５に示す情報に対して名称で情報を分類すると、図３のパラメタ分類情報のＮｏ．１とＮｏ．３、図４のパラメタ間制約情報のＮｏ．１とＮｏ．２、図５のパラメタ値情報のＮｏ．１とＮｏ．３とが１つのパラメタ（パラメタ“AA”）に関する情報として分類される。また、図３のパラメタ分類情報のＮｏ．２とＮｏ．４、図４のパラメタ間制約情報のＮｏ．１とＮｏ．２、図５のパラメタ値情報のＮｏ．２とＮｏ．４とが１つのパラメタ（パラメタ“BB”）に関する情報として分類される。そして、パラメタ分解部１２１は、分類されたこれら情報により、パラメタ“AA”のパラメタ分割として分割位置“{16}”および“{24}”を抽出し、パラメタ“BB”のパラメタ分割として分割位置“{16}”および“{24}”を抽出する。
【００６８】
なお、パラメタ間制約情報およびパラメタ値情報におけるパラメタ分割が、要件として入力されるパラメタ分割情報に集約されている場合、パラメタ分解部１２１は、パラメタ分割情報のみを対象にして、該情報をパラメタごとに分類してもよい。
【００６９】
次に、パラメタ分解部１２１は、対象パラメタごとに、抽出したパラメタ分割を合成する（ステップＳ２３）。パラメタ分解部１２１は、パラメタ分割の合成を、既に説明したように、当該パラメタの全ての分割位置の和集合をとることにより行えばよい。
【００７０】
次に、パラメタ分解部１２１は、合成後のパラメタ分割に基づいてパラメタの再分割を行い、対象パラメタを単位ブロックに分解する（ステップＳ２４）。
【００７１】
例えば、パラメタ“AA”について、合成後のパラメタ分割として、分割位置“{16}”と“{24}”を示すパラメタ分割が得られたとする。その場合、パラメタ分解部１２１は、パラメタ“AA”をそれら分割位置で各々分割し、３つの単位ブロックに分解する。
【００７２】
最後に、パラメタ分解部１２１は、分解結果をパラメタ情報やパラメタ分割情報に反映して終了する（ステップＳ２５）。パラメタ分解部１２１は、このような一連の処理を、分類されたパラメタの全てに対して行う。
【００７３】
なお、反映後のパラメタ情報やパラメタ分割情報は、制約分解部１２２、パラメタ値分解部１２３およびパラメタ分類部１３１に出力される。このとき、パラメタ分解部１２１は、制約分解部１２２に、要件として入力されたパラメタ間制約情報を一緒に出力してもよい。同様に、パラメタ分解部１２１は、パラメタ値分解部１２３に、要件として入力されたパラメタ値情報を一緒に出力してもよい。なお、パラメタ間制約情報の制約分解部１２２への出力およびパラメタ値情報のパラメタ分解部１２１への出力は、要件入力部１１が行ってもよい。
【００７４】
また、図１８は、制約分解部１２２によるパラメタ間制約の分解動作のより詳細な例を示すフローチャートである。図１８に示す動作は、上記のステップＳ１２の要件分解動作のうちの一部に相当する。
【００７５】
図１８に示す例では、まず、制約分解部１２２は、入力としてパラメタの単位ブロックへの分解結果が反映されたパラメタ情報またはパラメタ分解情報と、分解前のパラメタ間制約情報とを取得する（ステップＳ３１）。
【００７６】
次に、制約分解部１２２は、全てのパラメタ間制約情報を、制約関係にある対象とされるパラメタの組み合わせごとに分類する（ステップＳ３２）。なお、パラメタ間制約情報が制約式で表現されている場合、制約分解部１２２は、右辺と左辺のパラメタ組が一致するパラメタ間制約情報を１つのグループに分類すればよい。例えば、パラメタ“AA”と“BB”の組み合わせに対してパラメタ間制約情報が登録されていれば、制約分解部１２２は、同じ組み合わせのパラメタ間制約情報を１つのグループにまとめる。他の組み合わせの場合も同様に、制約分解部１２２は、グループ内が全て同じ組み合わせのパラメタ間制約情報となるようにグループ化する。
【００７７】
次に、制約分解部１２２は、同じパラメタの組み合わせで分類されたパラメタ間制約情報に対して、単位ブロックごとの規定となるよう制約展開規則を適用して制約を分解する（ステップＳ３３）。制約分解部１２２は、分類されたパラメタ間制約情報で示される制約のうち単位ブロックよりも広い範囲を対象範囲とする制約に対して単位ブロックごとの規定となるよう所定の制約展開規則を適用して該制約を分解してもよい。
【００７８】
例えば、分類の結果、図４のパラメタ間制約情報のうちパラメタ“AA”と“BB”間の制約が得られた場合、そのうちの対象範囲“[1,24]”となっているＮｏ．１の制約が分解対象の制約として選ばれる。そして、当該制約は、単位ブロックごとに制約が規定されるよう、より具体的には、対象範囲“[1,16]”と“[17,24] ”の異なる２つの制約として分解された上で、これら制約を論理和で接続される。このとき、当該制約に対して、図９に示す制約展開規則が適用される。なお、図９に示す制約展開規則は、「２つの対象パラメタのある対象範囲“[a,c] ”の値が異なる」という制約が、これら対象パラメタの単位ブロックの情報に基づいて「２つの対象パラメタのそれぞれ“[a,b] ”を範囲とする第１の単位ブロック間、またはそれぞれ“[b+1,c] ”を範囲とする第２の単位ブロック間のいずれの単位ブロック間の値が異なる」という２つの単位ブロック間の制約の論理和に展開されることを表している。制約展開規則は、例えば、このような、分解前の制約とその対象パラメタ組に含まれるパラメタの分解結果（単位ブロックの情報）とに対して、当該制約の分解結果とされる単位ブロック間の制約の組み合わせを指定するものであってもよい。なお、当該制約展開規則によれば、２以上の対象パラメタ間で規定される制約についても同様に分解可能である。
【００７９】
制約分解部１２２は、分解後の制約と分解対象とされなかった制約間の論理関係に従って、全体の制約（論理式）を更新した上で、結果をパラメタ間制約情報に反映する（ステップＳ３４）。制約分解部１２２は、このような一連の処理を、分類されたパラメタの組み合わせの全てに対して行う。
【００８０】
なお、反映後のパラメタ間制約情報は、パラメタ分類部１３１に出力される。
【００８１】
また、図１９は、パラメタ値分解部１２３によるパラメタ値分解動作のより詳細な例を示すフローチャートである。図１９に示す動作は、上記のステップＳ１２の要件分解動作のうちの一部に相当する。
【００８２】
図１９に示す例では、まず、パラメタ値分解部１２３は、入力としてパラメタの単位ブロックへの分解結果が反映されたパラメタ情報またはパラメタ分解情報と、分解前のパラメタ値情報とを取得する（ステップＳ４１）。
【００８３】
次に、パラメタ値分解部１２３は、取得した全てのパラメタ値情報を、パラメタごとに分類する（ステップＳ４２）。
【００８４】
次に、パラメタ値分解部１２３は、パラメタごとに分類されたパラメタ間情報に対して、単位ブロックごとの規定となるようパラメタ値を分解する（ステップＳ４３）。パラメタ値分解部１２３は、分類されたパラメタ値情報のパラメタ値の条件で示されるパラメタ値のうち単位ブロックよりも広い対象範囲を有するパラメタ値に対して単位ブロックごとの規定となるようにパラメタ値の条件で示されるパラメタ値を分解してもよい。
【００８５】
例えば、分類の結果、図５のパラメタ値情報のうちパラメタ“AA”のパラメタ値情報が得られた場合、そのうちの対象範囲“[1,24]”となっているＮｏ．３のパラメタ値情報で示されるパラメタ値が分解対象のパラメタ値として選ばれる。そして、当該パラメタ値は、単位ブロックごとにパラメタ値が規定されるように、より具体的には、対象範囲“[1,16]”と“[17,24] ”の異なる対象範囲に対するパラメタ値の条件に分解される。
【００８６】
なお、図１１に示すパラメタ値の分解例は、パラメタ“AA”の分解結果として示される第１〜第３の単位ブロックの情報に従い、上位２４ビットに対して規定されたパラメタ値“192.168.1 ~192.168.8 ”を、第１の単位ブロックと第２の単位ブロックの境界である１６ビット目で分解し、結果として第１の単位ブロックのパラメタ値“192.168 ”と、第２の単位ブロックのパラメタ値“1~8 ”とを得た例である。
【００８７】
最後に、パラメタ値分解部１２３は、分解結果をパラメタ値情報に反映する（ステップＳ４４）。パラメタ値分解部１２３は、このような一連の処理を、分類されたパラメタの全てに対して行う。
【００８８】
なお、反映後のパラメタ値情報は、パラメタ値付与部１３２に出力される。
【００８９】
また、図２０は、割当部１３によるパラメタ値割当動作のより詳細な例を示すフローチャートである。図２０に示す動作は、上記のステップＳ１４のパラメタ値割当動作に相当する。
【００９０】
図２０に示す例では、まず、割当部１３のパラメタ分類部１３１は、入力としてパラメタの単位ブロックへの分解結果が反映されたパラメタ情報またはパラメタ分解情報と、単位ブロックへの分解が完了したパラメタ間制約情報とを取得する（ステップＳ５１）。
【００９１】
次に、パラメタ分類部１３１は、単位ブロック分解後のパラメタ間の制約に基づいて、全ての対象パラメタの全ての単位ブロックを分類する（ステップＳ５２）。
【００９２】
例えば、パラメタ分類部１３１は、パラメタ分解部１２１と制約分解部１２２とにより導出される対象パラメタの単位ブロックとそれら単位ブロック間の制約の情報を基に、値付与の対象とされる単位ブロック群を一つないし複数のユニット類に等号「＝」で分類し、さらに異なるユニット類同士の関係性の情報（不等号「≠」）を明示した辺によってこれらを接続したグラフを導出してもよい。
【００９３】
パラメタ分類部１３１によって導出されたグラフは、パラメタ値付与部１３２に出力される。
【００９４】
次いで、パラメタ値付与部１３２は、パラメタ分類部１３１より、パラメタの単位ブロック群の分類結果を示すグラフを取得すると、単位ブロック分解後のパラメタ値情報に基づいて、各単位ブロックにパラメタ値を割り当てる（ステップＳ５３）。
【００９５】
以下、具体例を用いて上記の動作を説明する。まず、要件として図２に示すパラメタ情報、図３に示すパラメタ分割情報、図４（ｂ）に示すパラメタ間制約情報および図５に示すパラメタ値情報が入力されたとする。
【００９６】
要件分解部１２では、まずパラメタ分解部１２１が、入力された要件に基づいて、対象パラメタごとにパラメタ分割の合成を行う。本例では、パラメタ名称が“AA”と“BB”であるＩＰｖ４アドレスの分割位置として、１６ビット目（図中の“{16}”）と２４ビット目（図中の“{24}”）とが与えられている。パラメタ分解部１２１は、パラメタ“AA”および“BB”の合成後のパラメタ分割として、分割位置“{16,24} ”を示す分解後のパラメタ分割情報を出力する。また、パラメタ分解部１２１は、パラメタ“AA”および“BB”について得られた合成後のパラメタ分割に従い、パラメタ“AA”および“BB”をそれぞれ３つの単位ブロックに分解する。
【００９７】
図８に示す例は、本例におけるパラメタの分解結果である。パラメタ分解部１２１は、入力されたパラメタ“AA”と“BB”のパラメタ情報に対して、パラメタごとに、合成後のパラメタの分割位置を参照して単位ブロックに分解する。本例では、パラメタ分解部１２１は、パラメタ“AA”および“BB”に対して、それぞれ上位から１６ビット目と２４ビット目で分割して３つの単位ブロックを得る。
【００９８】
各対象パラメタが単位ブロックに分解された後、制約分解部１２２が、要件として入力されたパラメタ間制約を単位ブロックごとに分解する。
【００９９】
本例では、制約分解部１２２が、図１１のＤ３１で示すパラメタ間制約情報を取得し、図中の実線の矢印方向で示されるＤ３３のパラメタ間制約に分解する。このとき、図中のＤ３２で示すように、単位ブロックへの分解結果が示されたパラメタ情報またはパラメタ分割情報が参照される。制約分解部１２２は、図１１に示すように、パラメタの組み合わせが共通するパラメタ間制約の中から、当該組み合わせに各パラメタの単位ブロックを部分的に含む（すなわち、対象範囲と単位ブロックとが部分的に一致する）制約に対して制約展開規則を適用して、単位ブロックごとに制約が規定されるよう分解する。分解後、制約分解部１２２は、パラメタの組み合わせが共通するパラメタ間制約群に対して、論理演算（ＡＮＤ／ＯＲ演算）を行い論理式を更新する。本例では、Ｎｏ．１−１の制約とＮｏ．２の制約の組み合わせは矛盾を含む組み合わせであるので削除され、最終的に、Ｎｏ．１−１の制約とＮｏ．２の制約の組み合わせのみが残る。
【０１００】
制約分解部１２２の動作と並行して、パラメタ値分解部１２３が、要件として入力されたパラメタ値（より具体的にはパラメタ値の条件で示されるパラメタ値）を単位ブロックごとに分解する。
【０１０１】
本例では、パラメタ値分解部１２３が、図１２のＤ４１で示すパラメタ値情報を取得し、図中の実線の矢印方向で示されるＤ４３のパラメタ間制約に分解する。このとき、図中のＤ４２で示すように、単位ブロックへの分解結果が示されたパラメタ情報またはパラメタ分割情報が参照される。パラメタ値分解部１２３は、図１２に示すように、パラメタの名称が共通するパラメタ値の中から、当該パラメタの単位ブロックを部分的に含む（すなわち、対象範囲と単位ブロックとが部分的に一致する）パラメタ値に対して単位ブロックごとにパラメタ値が規定されるよう分解する。本例では、パラメタ値分解部１２３は、対象範囲が“[1,24]”であるＮｏ．３のパラメタ値“192.168.1 ~192.168.8 ”を、対象範囲“[1,16]”に対するパラメタ値“192.168 ”と、対象範囲“[17,24] ”に対するパラメタ値“1~8 ”とに分解する。なお、図１２では、パラメタ“AA”のパラメタ値情報のみが示されているが、パラメタ値分解部１２３は、パラメタ“BB”についても同様の処理を行う。
【０１０２】
このようにして要件分解部１２による要件の分解が完了すると、割当部１３のパラメタ分類部１３１が、図１４に示すように、分割後のパラメタ間制約に基づいて各対象パラメタの各単位ブロックを分類する。本例では、パラメタ“AA”の第１の単位ブロックとパラメタ“BB”の第１の単位ブロックは、分解後のパラメタ間制約によって同じ値を持たなければならないものとして、１つのグループに分類される。一方で、パラメタ“AA”の第２の単位ブロックとパラメタ“BB”の第２の単位ブロックは、分解後のパラメタ間制約によって異なる値を持たなければならないものとして、異なるグループに分類された上で、その旨を示すグループ間接続がされている。パラメタ“AA”の第３の単位ブロックとパラメタ“BB”の第３の単位ブロックは、いずれもパラメタ間制約が存在しないため、別のグループに分類されても同一のグループに分類されてもよいが、ここでは別のグループに分類されている。なお、本例では、パラメタ分類部１３１は、Ｕｎｉｏｎｆｉｎｄアルゴリズムを用いてグループ分けを行っている。
【０１０３】
パラメタ分類部１３１による対象パラメタの単位ブロックの分類が完了すると、パラメタ値付与部１３２が、当該分類結果と、分解後のパラメタ値情報とに基づいてパラメタ値を割り当てる。パラメタ値付与部１３２は、例えば、グラフ彩色アルゴリズムを用いて、各単位ブロックに値を割り当ててもよい。
【０１０４】
以上のように、本実施形態では、要件分解部１２が、入力された要件を走査することにより人手を介さずにパラメタ内の分解位置を最適化し、最適化された分割位置にしたがって各種の要件（パラメタ間の制約や付与するパラメタ値）を分解する。このため、パラメタ値付与装置１０は、分割位置や要件入力の書式が固定されていない各種パラメタに対しても、効率よく正しいパラメタ値を付与することができる。
【０１０５】
例えば、本実施形態によれば、人手で要件の書式を整える必要がないため、ＩＰアドレスのようなパラメタ値を付与する区切りが固定でないようなパラメタであっても、自動で、かつ効率よく正しいパラメタ値を付与することができる。
【０１０６】
一例として、ＩＰアドレスに値を割り当てることを考える。複数の機器にそれぞれ付されるＩＰアドレスに対して、ネットワークマスクとして“192.168.*.*/16”を採用する人がいる一方で、サブネットワークマスクとして“192.168.10.*/24〜192.168.20.*/24”を採用したい人がいる場合、それぞれのネットワークマスクの違いを考慮してＩＰアドレスの割り振りを考えなければならない。このようなＩＰアドレス間の（部分的な）依存関係はシステムの規模が大きくなるにつれて増大し、人手で管理することは難しくなる。しかし、本実施形態によれば、人手で要件の書式を整える必要がないため、ＩＰアドレスのようなパラメタ値を付与する区切りが固定でないようなパラメタであっても、効率よく正しいパラメタ値を付与することができる。
【０１０７】
なお、予め定められている要素ごと（例えば、ＩＰｖ４アドレスであれば８ビット×４つのブロックに分割する、ＵＲＬであればホスト部とポート部等）に、要件を分解した場合、まとめて値が付与できるようなブロック（上記の例でいえば、ＩＰｖ４アドレス“AA”と“BB”の上位１〜１６ビット部等）であってもさらに小さく分解されたり、逆に分けて値を付与しなければいけないブロック（例えば、ＵＲＬのホスト部に含まれるサーバ名称が指定されるブロック等）であっても、十分な粒度のブロックに分解されない等、適応的な分割ができない。
【０１０８】
なお、予め定められている要素ごとに分割せず、例えば、特許文献２に記載されているような、対象とする複数の変数それぞれの表現形式における１要素当たりのビット数の最大公約数を利用する方法等も考えられるが、既に説明したように最大公約数のビット長で均一に分割することが必ずしも最適な分割方法とは限らない。極端な例として、あるパラメタの上位１ビットに対して値の条件が与えられるとともに、該パラメタの上位１６ビットに対して別の条件が与えられた場合、特許文献１に記載された方法のように最大公約数を用いると、該パラメタが１ビットずつ（合計１６パート）に分割されるケースも考えられる。なお、本実施形態によれば、該パラメタは、上位１ビットとそれに続く１５ビットの２つのパートに分解されるだけで済む。このような適切でない分解が行われると、制約の分解等でプログラムの計算量が膨大化して処理負荷が増すため、好ましくない。また、特許文献２に記載された方法は、１要素当たりのビット数を基準に分割を行うため、可変長のパラメタには適用されず、汎用性に乏しい。
【０１０９】
これに対して、本実施形態では、対象パラメタごとに、入力された要件で示される分解位置に応じて単位ブロックを定めるので、上記のような無駄な分解をするおそれがない。したがって、制約の分解のための処理負荷が最小限で済み、効率よく正しいパラメタ値が付与される。また、本実施形態では、対象パラメタごとに、入力された要件で示される分解位置に応じて単位ブロックを定めるので、パラメタが可変長であっても特に問題なく適用可能である。
【０１１０】
実施形態２．
次に、本発明の第２の実施形態を説明する。図２１は、本発明の第２の実施形態のパラメタ値付与装置の概要を示すブロック図である。図２１に示すパラメタ値付与装置５００は、要件入力部５０１と、パラメタ分解部５０２と、制約分解部５０３と、パラメタ値分解部５０４と、割当部５０５とを備える。
【０１１１】
要件入力部５０１は、対象パラメタである１つまたは複数のパラメタへの値付与に関する要件として、対象パラメタ間もしくは対象パラメタを構成する任意の要素間の制約を示す制約情報と、対象パラメタまたはその任意の要素に対するパラメタ値の条件を示すパラメタ値情報とを入力する。
【０１１２】
パラメタ分解部５０２は、要件として入力された情報に基づいて、対象パラメタの各々を、１つ以上の単位ブロックに分解する。
【０１１３】
制約分解部５０３は、対象パラメタの単位ブロックへの分解結果に基づいて、制約情報で示される制約を、単位ブロック間の制約に分解し、分解後の単位ブロック間の制約を再編成する。
【０１１４】
パラメタ値分解部５０４は、対象パラメタの単位ブロックへの分解結果に基づいて、要件としてのパラメタ値情報で示されるパラメタ値の条件を、単位ブロックに対するパラメタ値の条件に分解する。
【０１１５】
割当部５０５は、対象パラメタの単位ブロックへの分解結果、単位ブロック間の制約および単位ブロックに対するパラメタ値の条件に基づいて、対象パラメタの各々に値を付与する。
【０１１６】
このような構成を備えることにより、構成が固定でないパラメタに対しても、元々の自由度を残したまま入力される要件に従って正しい値を付与できる。
【０１１７】
なお、上記構成において、パラメタ分解部５０２は、制約情報で示される制約が適用されるパラメタ内の対象範囲の情報、およびパラメタ値情報で示されるパラメタ値の条件が適用されるパラメタ内の対象範囲の情報の少なくともいずれかに基づいて、対象パラメタごとに、当該パラメタ内の分割位置を抽出し、抽出された分割位置に対応するパラメタ分割を合成して、対象パラメタの各々を１つ以上の単位ブロックに分解してもよい。
【０１１８】
また、制約情報は、制約関係を有する１つまたは複数のパラメタの情報と、該制約関係が適用されるそれぞれのパラメタ内の対象範囲の情報と、適用される制約の情報とを含み、制約は、値の相等関係または不等関係を含み、パラメタ値情報は、付与対象とされるパラメタの情報と、パラメタ内の対象範囲の情報と、該対象範囲に付与されるパラメタ値の条件とを含んでいてもよい。
【０１１９】
また、制約分解部５０３は、制約情報に、制約関係を有するパラメタ内の対象範囲が当該パラメタの対応する位置にある単位ブロックよりも広い範囲を示す制約が含まれている場合に、当該制約を分解してもよい。
【０１２０】
要件入力部５０１は、要件として、パラメタ分割の対象とされるパラメタの情報と、パラメタ内における任意の１つまたは複数の分割位置の情報とを含むパラメタ分割情報をさらに入力し、パラメタ分解部５０２は、パラメタ分割情報を含む要件として入力された情報に基づいて、対象パラメタごとに、当該パラメタ内の分割位置を抽出し、抽出された分割位置に対応するパラメタ分割を合成して、対象パラメタの各々を１つ以上の単位ブロックに分解してもよい。
【０１２１】
パラメタ分解部５０２は、対象パラメタごとに、要件として入力される情報により示されるパラメタ内の分割位置の和集合をとることでパラメタ分割を合成し、最終的に残った分割位置で当該対象パラメタを分割してもよい。
【０１２２】
また、図１に示す割当部１３のように、割当部５０５も、対象パラメタの単位ブロックへの分解結果と、単位ブロック間の制約とに基づいて、対象パラメタの全ての単位ブロックを分類するパラメタ分類部と、単位ブロックの分類結果と、単位ブロックに対するパラメタ値の条件とに基づいて、分類後の単位ブロックの各々に対して値を付与する値付与部とを含んでいてもよい。
【０１２３】
そのような構成において、パラメタ分類部は、対象パラメタの全ての単位ブロックを、同じ値が付与される単位ブロック同士でグループ化された１つまたは複数のグループに分類し、さらに、分類後のグループを、グループ間の関係性を示す辺によって接続したグラフを導出し、値付与部は、グラフで示される単位ブロックのグループおよびグループ間の関係性と、単位ブロックに対するパラメタ値の条件とに基づいて、分類後の単位ブロックの各々に対して値を付与してもよい。
【０１２４】
また、図２２は、本発明の各実施形態にかかるコンピュータの構成例を示す概略ブロック図である。コンピュータ１０００は、ＣＰＵ（Central Processing Unit ）１００１と、主記憶装置１００２と、補助記憶装置１００３と、インタフェース１００４と、ディスプレイ装置１００５と、入力デバイス１００６とを備える。
【０１２５】
上述した実施形態は、コンピュータ１０００に実装されてもよい。その場合、該装置の動作は、プログラムの形式で補助記憶装置１００３に記憶されていてもよい。ＣＰＵ１００１は、プログラムを補助記憶装置１００３から読み出して主記憶装置１００２に展開し、そのプログラムに従って実施形態における所定の処理を実施する。なお、ＣＰＵ１００１は、プログラムに従って動作する情報処理装置の一例であり、ＣＰＵ以外にも、例えば、ＭＰＵ（Micro Processing Unit ）やＭＣＵ（Memory Control Unit ）やＧＰＵ（Graphics Processing Unit）等を備えていてもよい。
【０１２６】
補助記憶装置１００３は、一時的でない有形の媒体の一例である。一時的でない有形の媒体の他の例として、インタフェース１００４を介して接続される磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ１０００に配信される場合、配信を受けたコンピュータ１０００がそのプログラムを主記憶装置１００２に展開し、各実施形態における所定の処理を実行してもよい。
【０１２７】
また、プログラムは、実施形態における所定の処理の一部を実現するためのものであってもよい。さらに、プログラムは、補助記憶装置１００３に既に記憶されている他のプログラムとの組み合わせで実施形態における所定の処理を実現する差分プログラムであってもよい。
【０１２８】
インタフェース１００４は、他の装置との間で情報の送受信を行う。また、ディスプレイ装置１００５は、ユーザに情報を提示する。また、入力デバイス１００６は、ユーザからの情報の入力を受け付ける。
【０１２９】
また、実施形態における処理内容によっては、コンピュータ１０００の一部の要素は省略可能である。例えば、コンピュータ１０００がユーザに情報を提示しないのであれば、ディスプレイ装置１００５は省略可能である。例えば、コンピュータ１０００がユーザから情報入力を受け付けないのであれば、入力デバイス１００６は省略可能である。
【０１３０】
また、上記の各構成要素の一部または全部は、汎用または専用の回路（Circuitry ）、プロセッサ等やこれらの組み合わせによって実施される。これらは単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。また、上記の各構成要素の一部又は全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
【０１３１】
上記の各構成要素の一部又は全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
【０１３２】
以上、本実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１３３】
この出願は、２０１８年８月２８日に出願された日本特許出願２０１８−１５８９７１を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用の可能性】
【０１３４】
本発明は、構成が固定でないパラメタに自動で値を付与する用途に好適に適用可能である。
【符号の説明】
【０１３５】
１０  パラメタ値付与装置
１１  要件入力部
１２  要件分解部
１２１  パラメタ分解部
１２２  制約分解部
１２３  パラメタ値分解部
１３  割当部
１３１  パラメタ分類部
１３２  パラメタ値付与部
１４  出力部
５００  パラメタ値付与装置
５０１  要件入力部
５０２  パラメタ分解部
５０３  制約分解部
５０４  パラメタ値分解部
５０５  割当部
１０００  コンピュータ
１００１  ＣＰＵ
１００２  主記憶装置
１００３  補助記憶装置
１００４  インタフェース
１００５  ディスプレイ装置
１００６  入力デバイス
【図１】
2020044876.tif 000003
【図２】
2020044876.tif 000004
【図３】
2020044876.tif 000005
【図４】
2020044876.tif 000006
【図５】
2020044876.tif 000007
【図６】
2020044876.tif 000008
【図７】
2020044876.tif 000009
【図８】
2020044876.tif 000010
【図９】
2020044876.tif 000011
【図１０】
2020044876.tif 000012
【図１１】
2020044876.tif 000013
【図１２】
2020044876.tif 000014
【図１３】
2020044876.tif 000015
【図１４】
2020044876.tif 000016
【図１５】
2020044876.tif 000017
【図１６】
2020044876.tif 000018
【図１７】
2020044876.tif 000019
【図１８】
2020044876.tif 000020
【図１９】
2020044876.tif 000021
【図２０】
2020044876.tif 000022
【図２１】
2020044876.tif 000023
【図２２】
2020044876.tif 000024
【手続補正書】
【提出日】令和3年1月8日(2021.1.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
対象パラメタである１つまたは複数のパラメタへの値付与に関する要件として、前記対象パラメタ間もしくは前記対象パラメタを構成する任意の要素間の制約を示す制約情報と、前記対象パラメタまたはその任意の要素に対するパラメタ値の条件を示すパラメタ値情報とを入力する要件入力手段と、
前記要件として入力された情報に基づいて、前記対象パラメタの各々を、１つ以上の単位ブロックに分解するパラメタ分解手段と、
前記対象パラメタの前記単位ブロックへの分解結果に基づいて、前記制約情報で示される制約を前記単位ブロック間の制約に分解し、分解後の前記単位ブロック間の制約を再編成する制約分解手段と、
前記対象パラメタの前記単位ブロックへの分解結果に基づいて、前記要件としての前記パラメタ値情報で示されるパラメタ値の条件を、前記単位ブロックに対するパラメタ値の条件に分解するパラメタ値分解手段と、
前記対象パラメタの前記単位ブロックへの分解結果、前記単位ブロック間の制約および前記単位ブロックに対するパラメタ値の条件に基づいて、前記対象パラメタの各々に値を付与する割当手段とを備える
ことを特徴とするパラメタ値付与装置。
【請求項２】
前記パラメタ分解手段は、前記制約情報で示される制約が適用されるパラメタ内の対象範囲の情報、および前記パラメタ値情報で示されるパラメタ値の条件が適用されるパラメタ内の対象範囲の情報の少なくともいずれかに基づいて、前記対象パラメタごとに、当該パラメタ内の分割位置を抽出し、抽出された分割位置に対応するパラメタ分割を合成して、前記対象パラメタの各々を前記１つ以上の単位ブロックに分解する
請求項１に記載のパラメタ値付与装置。
【請求項３】
前記制約情報は、制約関係を有する１つまたは複数のパラメタの情報と、該制約関係が適用されるそれぞれのパラメタ内の対象範囲の情報と、適用される制約の情報とを含み、
前記制約は、値の相等関係または不等関係を含み、
前記パラメタ値情報は、付与対象とされるパラメタの情報と、パラメタ内の対象範囲の情報と、該対象範囲に付与されるパラメタ値の条件とを含む
請求項１または請求項２に記載のパラメタ値付与装置。
【請求項４】
前記制約分解手段は、前記制約情報に、制約関係を有するパラメタ内の対象範囲が当該パラメタの対応する位置にある単位ブロックよりも広い範囲を示す制約が含まれている場合に、当該制約を分解する
請求項３に記載のパラメタ値付与装置。
【請求項５】
前記要件入力手段は、前記要件として、パラメタ分割の対象とされるパラメタの情報と、前記パラメタ内における任意の１つまたは複数の分割位置の情報とを含むパラメタ分割情報をさらに入力し、
前記パラメタ分解手段は、前記パラメタ分割情報を含む前記要件として入力された情報に基づいて、前記対象パラメタごとに、当該パラメタ内の分割位置を抽出し、抽出された分割位置に対応するパラメタ分割を合成して、前記対象パラメタの各々を前記１つ以上の単位ブロックに分解する
請求項１から請求項４のうちのいずれかに記載のパラメタ値付与装置。
【請求項６】
前記パラメタ分解手段は、前記対象パラメタごとに、要件として入力される情報により示されるパラメタ内の分割位置の和集合をとることでパラメタ分割を合成し、最終的に残った分割位置で当該対象パラメタを分割する
請求項２または請求項５に記載のパラメタ値付与装置。
【請求項７】
前記割当手段は、
前記対象パラメタの前記単位ブロックへの分解結果と、前記単位ブロック間の制約とに基づいて、前記対象パラメタの全ての単位ブロックを分類するパラメタ分類手段と、
前記単位ブロックの分類結果と、前記単位ブロックに対するパラメタ値の条件とに基づいて、分類後の前記単位ブロックの各々に対して値を付与する値付与手段とを含む
請求項１から請求項６のうちのいずれかに記載のパラメタ値付与装置。
【請求項８】
前記パラメタ分類手段は、前記対象パラメタの全ての単位ブロックを、同じ値が付与される単位ブロック同士でグループ化された１つまたは複数のグループに分類し、さらに、分類後のグループを、グループ間の関係性を示す辺によって接続したグラフを導出し、
前記値付与手段は、前記グラフで示される前記単位ブロックのグループおよびグループ間の関係性と、前記単位ブロックに対するパラメタ値の条件とに基づいて、分類後の前記単位ブロックの各々に対して値を付与する
請求項７に記載のパラメタ値付与装置。
【請求項９】
情報処理装置が、
対象パラメタである１つまたは複数のパラメタへの値付与に関する要件として入力される、前記対象パラメタ間もしくは前記対象パラメタを構成する任意の要素間の制約を示す制約情報と、前記対象パラメタまたはその任意の要素に対するパラメタ値の条件を示すパラメタ値情報とを受け付け、
前記要件として入力された情報に基づいて、前記対象パラメタの各々を、１つ以上の単位ブロックに分解し、
前記対象パラメタの前記単位ブロックへの分解結果に基づいて、前記制約情報で示される制約を、前記単位ブロック間の制約に分解し、分解後の前記単位ブロック間の制約を再編成し、
前記対象パラメタの前記単位ブロックへの分解結果に基づいて、前記要件としての前記パラメタ値情報で示されるパラメタ値の条件を、前記単位ブロックに対するパラメタ値の条件に分解し、
前記対象パラメタの前記単位ブロックへの分解結果、前記単位ブロック間の制約および前記単位ブロックに対するパラメタ値の条件に基づいて、前記対象パラメタの各々に値を付与する
ことを特徴とするパラメタ値付与方法。
【請求項１０】
コンピュータで実行されるときに、
対象パラメタである１つまたは複数のパラメタへの値付与に関する要件として入力される、前記対象パラメタ間もしくは前記対象パラメタを構成する任意の要素間の制約を示す制約情報と、前記対象パラメタまたはその任意の要素に対するパラメタ値の条件を示すパラメタ値情報とを受け付け、
前記要件として入力された情報に基づいて、前記対象パラメタの各々を、１つ以上の単位ブロックに分解し、
前記対象パラメタの前記単位ブロックへの分解結果に基づいて、前記制約情報で示される制約を、前記単位ブロック間の制約に分解し、分解後の前記単位ブロック間の制約を再編成し、
前記対象パラメタの前記単位ブロックへの分解結果に基づいて、前記要件としての前記パラメタ値情報で示されるパラメタ値の条件を、前記単位ブロックに対するパラメタ値の条件に分解し、
前記対象パラメタの前記単位ブロックへの分解結果、前記単位ブロック間の制約および前記単位ブロックに対するパラメタ値の条件に基づいて、前記対象パラメタの各々に値を付与する
パラメタ値付与プログラム。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
また、本発明の一観点におけるパラメタ値付与プログラムは、コンピュータで実行されるときに、対象パラメタである１つまたは複数のパラメタへの値付与に関する要件として入力される、対象パラメタ間もしくは対象パラメタを構成する任意の要素間の制約を示す制約情報と、対象パラメタまたはその任意の要素に対するパラメタ値の条件を示すパラメタ値情報とを受け付け、要件として入力された情報に基づいて、対象パラメタの各々を、１つ以上の単位ブロックに分解し、対象パラメタの単位ブロックへの分解結果に基づいて、制約情報で示される制約を、単位ブロック間の制約に分解し、分解後の単位ブロック間の制約を再編成し、対象パラメタの単位ブロックへの分解結果に基づいて、要件としてのパラメタ値情報で示されるパラメタ値の条件を、単位ブロックに対するパラメタ値の条件に分解し、対象パラメタの単位ブロックへの分解結果、単位ブロック間の制約および単位ブロックに対するパラメタ値の条件に基づいて、対象パラメタの各々に値を付与する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００２９
【補正方法】変更
【補正の内容】
【００２９】
例えば、Ｎｏ．１のパラメタ間制約情報は、名称が“AA”と“BB”のパラメタ間において上位２４ビットが異なることを表している。なお、制約内容（上記パラメタ間の関係）は、等しい（相等関係）、等しくない（不等関係）といった２種類の関係に限らず、不等号で表されるような大小関係も含み得る。なお、Ｎｏ．１およびＮｏ．２のパラメタ間制約情報のように、同じパラメタの組み合わせに対して対象範囲が異なる２以上の制約を登録することも可能である。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００６７
【補正方法】変更
【補正の内容】
【００６７】
例えば、図３〜図５に示す情報に対して名称で情報を分類すると、図３のパラメタ分割情報のＮｏ．１とＮｏ．３、図４のパラメタ間制約情報のＮｏ．１とＮｏ．２、図５のパラメタ値情報のＮｏ．１とＮｏ．３とが１つのパラメタ（パラメタ“AA”）に関する情報として分類される。また、図３のパラメタ分割情報のＮｏ．２とＮｏ．４、図４のパラメタ間制約情報のＮｏ．１とＮｏ．２、図５のパラメタ値情報のＮｏ．２とＮｏ．４とが１つのパラメタ（パラメタ“BB”）に関する情報として分類される。そして、パラメタ分解部１２１は、分類されたこれら情報により、パラメタ“AA”のパラメタ分割として分割位置“{16}”および“{24}”を抽出し、パラメタ“BB”のパラメタ分割として分割位置“{16}”および“{24}”を抽出する。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００７５
【補正方法】変更
【補正の内容】
【００７５】
図１８に示す例では、まず、制約分解部１２２は、入力としてパラメタの単位ブロックへの分解結果が反映されたパラメタ情報またはパラメタ分割情報と、分解前のパラメタ間制約情報とを取得する（ステップＳ３１）。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００８２
【補正方法】変更
【補正の内容】
【００８２】
図１９に示す例では、まず、パラメタ値分解部１２３は、入力としてパラメタの単位ブロックへの分解結果が反映されたパラメタ情報またはパラメタ分割情報と、分解前のパラメタ値情報とを取得する（ステップＳ４１）。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００８４
【補正方法】変更
【補正の内容】
【００８４】
次に、パラメタ値分解部１２３は、パラメタごとに分類されたパラメタ値情報に対して、単位ブロックごとの規定となるようパラメタ値を分解する（ステップＳ４３）。パラメタ値分解部１２３は、分類されたパラメタ値情報のパラメタ値の条件で示されるパラメタ値のうち単位ブロックよりも広い対象範囲を有するパラメタ値に対して単位ブロックごとの規定となるようにパラメタ値の条件で示されるパラメタ値を分解してもよい。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００９０
【補正方法】変更
【補正の内容】
【００９０】
図２０に示す例では、まず、割当部１３のパラメタ分類部１３１は、入力としてパラメタの単位ブロックへの分解結果が反映されたパラメタ情報またはパラメタ分割情報と、単位ブロックへの分解が完了したパラメタ間制約情報とを取得する（ステップＳ５１）。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００９９
【補正方法】変更
【補正の内容】
【００９９】
本例では、制約分解部１２２が、図１１のＤ３１で示すパラメタ間制約情報を取得し、図中の実線の矢印方向で示されるＤ３３のパラメタ間制約に分解する。このとき、図中のＤ３２で示すように、単位ブロックへの分解結果が示されたパラメタ情報またはパラメタ分割情報が参照される。制約分解部１２２は、図１１に示すように、パラメタの組み合わせが共通するパラメタ間制約の中から、当該組み合わせに各パラメタの単位ブロックを部分的に含む（すなわち、対象範囲と単位ブロックとが部分的に一致する）制約に対して制約展開規則を適用して、単位ブロックごとに制約が規定されるよう分解する。分解後、制約分解部１２２は、パラメタの組み合わせが共通するパラメタ間制約群に対して、論理演算（ＡＮＤ／ＯＲ演算）を行い論理式を更新する。本例では、Ｎｏ．１−１の制約とＮｏ．２の制約の組み合わせは矛盾を含む組み合わせであるので削除され、最終的に、Ｎｏ．１−２の制約とＮｏ．２の制約の組み合わせのみが残る。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】０１０１
【補正方法】変更
【補正の内容】
【０１０１】
本例では、パラメタ値分解部１２３が、図１２のＤ４１で示すパラメタ値情報を取得し、図中の実線の矢印方向で示されるＤ４３のパラメタ値に分解する。このとき、図中のＤ４２で示すように、単位ブロックへの分解結果が示されたパラメタ情報またはパラメタ分割情報が参照される。パラメタ値分解部１２３は、図１２に示すように、パラメタの名称が共通するパラメタ値の中から、当該パラメタの単位ブロックを部分的に含む（すなわち、対象範囲と単位ブロックとが部分的に一致する）パラメタ値に対して単位ブロックごとにパラメタ値が規定されるよう分解する。本例では、パラメタ値分解部１２３は、対象範囲が“[1,24]”であるＮｏ．３のパラメタ値“192.168.1 ~192.168.8 ”を、対象範囲“[1,16]”に対するパラメタ値“192.168 ”と、対象範囲“[17,24] ”に対するパラメタ値“1~8 ”とに分解する。なお、図１２では、パラメタ“AA”のパラメタ値情報のみが示されているが、パラメタ値分解部１２３は、パラメタ“BB”についても同様の処理を行う。
【手続補正１２】
【補正対象書類名】図面
【補正対象項目名】図１６
【補正方法】変更
【補正の内容】
【図１６】
2020044876.tif 000025
【国際調査報告】
2020044876.tif 000026
2020044876.tif 000027