(57)【特許請求の範囲】
【請求項１】
構築対象システムの構成要件の更新を繰り返すことによって、前記構築対象システムの構成要件を具体化するシステム構成導出装置であって、
過去において適切と判定された構成要件の探索履歴を記憶する探索履歴記憶手段と、
前記探索履歴から、一の構成要件から次の構成要件への遷移毎に、前記一の構成要件に適用された、構成要件の一部をより詳細に記述するように書き換える規則である具体化規則を含む所定の情報から成る組を抽出する情報抽出手段と、
前記情報抽出手段によって抽出された前記所定の情報から成る組の集合を学習データとして、前記所定の情報から成る組に含まれる具体化規則の適切さの度合いを示すスコアの演算方法を学習する学習手段と、
複数の具体化規則を記憶する具体化規則記憶手段と、
新規の構成要件が入力される入力手段と、
着目している構成要件に適用可能な具体化規則を、前記具体化規則記憶手段から読み込み、読み込んだ具体化規則と前記着目している構成要件内における前記具体化規則の適用箇所とのペア毎に、前記所定の情報から成る組を抽出し、当該所定の情報から成る組を前記演算方法に適用することによってスコアを算出し、前記ペア毎に抽出した前記所定の情報から成る組、および、以前にスコアが算出されていて未だ選択されていない前記所定の情報から成る組の中で、最もスコアが高い前記所定の情報から成る組を選択し、当該所定の情報から成る組に対応するペアの適用対象となる構成要件に、前記ペアを適用することによって得られる構成要件を、新たに、着目している構成要件として選択することを繰り返す探索手段とを備え、
前記探索手段は、
前記入力手段に前記新規の構成要件が入力されたときに、当該新規の構成要件を着目している構成要件として選択し、
前記探索手段は、
以前にスコアが算出されていて未だ選択されていない前記所定の情報から成る組が存在しない場合には、前記ペア毎に抽出した前記所定の情報から成る組の中で、最もスコアが高い前記所定の情報から成る組を選択する
ことを特徴とするシステム構成導出装置。
【請求項２】
前記情報抽出手段は、
一の構成要件から次の構成要件への遷移毎に、
具体化規則と、
前記具体化規則が適用される構成要件内で前記具体化規則によって書き換えられる部分である単位構成要件と、
前記単位構成要件の近傍に関する情報である近傍情報と、
前記単位構成要件の生成に関連して用いられた具体化規則と、当該具体化規則がどの構成要件のどの箇所に適用されたかを示す情報とを含む単位構成要件履歴情報とを
含む４つ組を抽出し、
前記学習手段は、
前記４つ組の集合を学習データとして、前記演算方法を学習し、
前記探索手段は、
着目している構成要件に適用可能な具体化規則を、前記具体化規則記憶手段から読み込み、前記ペア毎に、前記４つ組を抽出する
請求項１に記載のシステム構成導出装置。
【請求項３】
近傍情報は、単位構成要件と、当該単位構成要件からＮホップ以内の構成要素および構成要素間の関係とを示す情報である
請求項２に記載のシステム構成導出装置。
【請求項４】
近傍情報は、単位構成要件と、当該単位構成要件からＮホップ以内の構成要素および構成要素間の関係であって指定された条件を満たす構成要素および構成要素間の関係とを示す情報である
請求項２または請求項３に記載のシステム構成導出装置。
【請求項５】
近傍情報に含まれる構成要素および構成要素間の関係には型の名称が記述される
請求項３または請求項４に記載のシステム構成導出装置。
【請求項６】
近傍情報は、単位構成要件からＮホップ以内の構成要素の数を示す情報である
請求項２に記載のシステム構成導出装置。
【請求項７】
近傍情報は、単位構成要件からＮホップ以内の構成要素であって指定された条件を満たす構成要素の数を示す情報である
請求項２または請求項６に記載のシステム構成導出装置。
【請求項８】
Ｎ＝１である
請求項３から請求項７のうちのいずれか１項に記載のシステム構成導出装置。
【請求項９】
構築対象システムの構成要件の更新を繰り返すことによって、前記構築対象システムの構成要件を具体化するシステム構成導出方法であって、
過去において適切と判定された構成要件の探索履歴から、一の構成要件から次の構成要件への遷移毎に、前記一の構成要件に適用された、構成要件の一部をより詳細に記述するように書き換える規則である具体化規則を含む所定の情報から成る組を抽出し、
抽出した前記所定の情報から成る組の集合を学習データとして、前記所定の情報から成る組に含まれる具体化規則の適切さの度合いを示すスコアの演算方法を学習し、
複数の具体化規則を記憶する具体化規則記憶手段から、着目している構成要件に適用可能な具体化規則を読み込み、読み込んだ具体化規則と前記着目している構成要件内における前記具体化規則の適用箇所とのペア毎に、前記所定の情報から成る組を抽出し、当該所定の情報から成る組を前記演算方法に適用することによってスコアを算出し、前記ペア毎に抽出した前記所定の情報から成る組、および、以前にスコアが算出されていて未だ選択されていない前記所定の情報から成る組の中で、最もスコアが高い前記所定の情報から成る組を選択し、当該所定の情報から成る組に対応するペアの適用対象となる構成要件に、前記ペアを適用することによって得られる構成要件を、新たに、着目している構成要件として選択することを繰り返し、
新規の構成要件が入力されたときに、当該新規の構成要件を着目している構成要件として選択し、
以前にスコアが算出されていて未だ選択されていない前記所定の情報から成る組が存在しない場合には、前記ペア毎に抽出した前記所定の情報から成る組の中で、最もスコアが高い前記所定の情報から成る組を選択する
ことを特徴とするシステム構成導出方法。
【請求項１０】
コンピュータに、構築対象システムの構成要件の更新を繰り返すことによって、前記構築対象システムの構成要件を具体化させるためのシステム構成導出プログラムであって、
前記コンピュータに、
過去において適切と判定された構成要件の探索履歴から、一の構成要件から次の構成要件への遷移毎に、前記一の構成要件に適用された、構成要件の一部をより詳細に記述するように書き換える規則である具体化規則を含む所定の情報から成る組を抽出する情報抽出処理、
前記情報抽出処理で抽出された前記所定の情報から成る組の集合を学習データとして、前記所定の情報から成る組に含まれる具体化規則の適切さの度合いを示すスコアの演算方法を学習する学習処理、および、
複数の具体化規則を記憶する具体化規則記憶手段から、着目している構成要件に適用可能な具体化規則を読み込み、読み込んだ具体化規則と前記着目している構成要件内における前記具体化規則の適用箇所とのペア毎に、前記所定の情報から成る組を抽出し、当該所定の情報から成る組を前記演算方法に適用することによってスコアを算出し、前記ペア毎に抽出した前記所定の情報から成る組、および、以前にスコアが算出されていて未だ選択されていない前記所定の情報から成る組の中で、最もスコアが高い前記所定の情報から成る組を選択し、当該所定の情報から成る組に対応するペアの適用対象となる構成要件に、前記ペアを適用することによって得られる構成要件を、新たに、着目している構成要件として選択することを繰り返す探索処理を実行させ、
新規の構成要件が入力されたときに、当該新規の構成要件を着目している構成要件として選択させ、
前記探索処理で、
以前にスコアが算出されていて未だ選択されていない前記所定の情報から成る組が存在しない場合には、前記ペア毎に抽出した前記所定の情報から成る組の中で、最もスコアが高い前記所定の情報から成る組を選択させる
ためのシステム構成導出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システム構成導出装置、システム構成導出方法およびシステム構成導出プログラムに関する。
【背景技術】
【０００２】
非特許文献１には、構成部品のテンプレートを開発資産として用いて、構成部品の組み合わせ方を変更したり構成部品ごとに定義されたパラメタの値を変更したりすることによって、構築目的のシステムに応じた設計を行う技術が記載されている。【０００３】
非特許文献２には、通信ネットワークのトポロジ情報と通信要件に関する情報を基に、トポロジにおいて通信要件を満たすために求められる各ネットワーク機器の経路情報等の設定を自動で設計する技術が記載されている。【０００４】
非特許文献３には、グラフとして表現されたベースの構成に対して実行可能な変更をグラフ書き換え規則として定義し、選択された規則に従ってベースの構成を書き換えることによって、構築目的のシステムに応じた設計を行う技術が記載されている。【０００５】
特許文献１には、階層構造で表現されるシステムの設計アーキテクチャのグラフの可変ノードを書き換える書き換え規則の集合を格納する規則格納部を備える設計データ自動生成装置が記載されている。【０００６】
特許文献２には、エキスパートシステムを構築するための構築方式が記載されている。【０００７】
特許文献３には、コンポネントの組合せ毎にその組み合わせに応じた設定を追加しなくてもよい等の利点を有するシステム構築支援システムが記載されている。【０００８】
また、非特許文献４には、グラフに関する機械学習の技術が記載されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１１−１３７５０号公報
【特許文献２】特開平２−５８１３１号公報
【特許文献３】国際公開第２０１７／０３３４４１号
【非特許文献】
【００１０】
【非特許文献１】T. Binz, G. Breiter, F. Leyman, and T. Spatzier, "Portable cloud servicesusing tosca", Internet Computing, IEEE, vol. 16, no. 3, pp. 80-85, 2012.
【非特許文献２】Beckett, Ryan and Mahajan, Ratul and Millstein, Todd and Padhye, Jitendra and Walker, David, "Don't Mind the Gap: Bridging Network-wide Objectives and Device-level Configurations", Proceedings of the 2016 ACM SIGCOMM Conference, pp. 328-341, 2016.
【非特許文献３】P. Jayaraman, J. Whittle, A. Elkhodary, and H. Gomaa, "ModelComposition in Product Lines and Feature Interaction Detection Using Critical Pair Analysis", Model Driven Engineering Languages and Systems, pp. 151-165, 2007.
【非特許文献４】Mathias Niepert, Mohamed Ahmed, Konstantin Kutzkov, “Learning Convolutional Neural Networks for Graphs”, ［２０１８年６月１４日検索］、インターネット<URL: http://proceedings.mlr.press/v48/niepert16.pdf>
【発明の概要】
【発明が解決しようとする課題】
【００１１】
システムを構築する際、システムの構成を効率的に導出できることが好ましい。【００１２】
そこで、本発明は、システムを構築する際、システムの構成を効率的に導出することができるシステム構成導出装置、システム構成導出方法およびシステム構成導出プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明によるシステム構成導出装置は、構築対象システムの構成要件の更新を繰り返すことによって、構築対象システムの構成要件を具体化するシステム構成導出装置であって、過去において適切と判定された構成要件の探索履歴を記憶する探索履歴記憶手段と、探索履歴から、一の構成要件から次の構成要件への遷移毎に、一の構成要件に適用された、構成要件の一部をより詳細に記述するように書き換える規則である具体化規則を含む所定の情報から成る組を抽出する情報抽出手段と、情報抽出手段によって抽出された所定の情報から成る組の集合を学習データとして、所定の情報から成る組に含まれる具体化規則の適切さの度合いを示すスコアの演算方法を学習する学習手段と、複数の具体化規則を記憶する具体化規則記憶手段と、新規の構成要件が入力される入力手段と、着目している構成要件に適用可能な具体化規則を、具体化規則記憶手段から読み込み、読み込んだ具体化規則と着目している構成要件内におけるその具体化規則の適用箇所とのペア毎に、所定の情報から成る組を抽出し、当該所定の情報から成る組を演算方法に適用することによってスコアを算出し、ペア毎に抽出した所定の情報から成る組、および、以前にスコアが算出されていて未だ選択されていない所定の情報から成る組の中で、最もスコアが高い所定の情報から成る組を選択し、当該所定の情報から成る組に対応するペアの適用対象となる構成要件に、そのペアを適用することによって得られる構成要件を、新たに、着目している構成要件として選択することを繰り返す探索手段とを備え、探索手段が、入力手段に新規の構成要件が入力されたときに、当該新規の構成要件を着目している構成要件として選択し、探索手段が、以前にスコアが算出されていて未だ選択されていない所定の情報から成る組が存在しない場合には、ペア毎に抽出した所定の情報から成る組の中で、最もスコアが高い所定の情報から成る組を選択することを特徴とする。【００１４】
また、本発明によるシステム構成導出方法は、構築対象システムの構成要件の更新を繰り返すことによって、構築対象システムの構成要件を具体化するシステム構成導出方法であって、過去において適切と判定された構成要件の探索履歴から、一の構成要件から次の構成要件への遷移毎に、一の構成要件に適用された、構成要件の一部をより詳細に記述するように書き換える規則である具体化規則を含む所定の情報から成る組を抽出し、抽出した所定の情報から成る組の集合を学習データとして、所定の情報から成る組に含まれる具体化規則の適切さの度合いを示すスコアの演算方法を学習し、複数の具体化規則を記憶する具体化規則記憶手段から、着目している構成要件に適用可能な具体化規則を読み込み、読み込んだ具体化規則と着目している構成要件内におけるその具体化規則の適用箇所とのペア毎に、所定の情報から成る組を抽出し、当該所定の情報から成る組を演算方法に適用することによってスコアを算出し、ペア毎に抽出した所定の情報から成る組、および、以前にスコアが算出されていて未だ選択されていない所定の情報から成る組の中で、最もスコアが高い所定の情報から成る組を選択し、当該所定の情報から成る組に対応するペアの適用対象となる構成要件に、そのペアを適用することによって得られる構成要件を、新たに、着目している構成要件として選択することを繰り返し、新規の構成要件が入力されたときに、当該新規の構成要件を着目している構成要件として選択し、以前にスコアが算出されていて未だ選択されていない所定の情報から成る組が存在しない場合には、ペア毎に抽出した所定の情報から成る組の中で、最もスコアが高い所定の情報から成る組を選択することを特徴とする。【００１５】
また、本発明によるシステム構成導出プログラムは、コンピュータに、構築対象システムの構成要件の更新を繰り返すことによって、構築対象システムの構成要件を具体化させるためのシステム構成導出プログラムであって、コンピュータに、過去において適切と判定された構成要件の探索履歴から、一の構成要件から次の構成要件への遷移毎に、一の構成要件に適用された、構成要件の一部をより詳細に記述するように書き換える規則である具体化規則を含む所定の情報から成る組を抽出する情報抽出処理、情報抽出処理で抽出された所定の情報から成る組の集合を学習データとして、所定の情報から成る組に含まれる具体化規則の適切さの度合いを示すスコアの演算方法を学習する学習処理、および、複数の具体化規則を記憶する具体化規則記憶手段から、着目している構成要件に適用可能な具体化規則を読み込み、読み込んだ具体化規則と着目している構成要件内におけるその具体化規則の適用箇所とのペア毎に、所定の情報から成る組を抽出し、当該所定の情報から成る組を演算方法に適用することによってスコアを算出し、ペア毎に抽出した所定の情報から成る組、および、以前にスコアが算出されていて未だ選択されていない所定の情報から成る組の中で、最もスコアが高い所定の情報から成る組を選択し、当該所定の情報から成る組に対応するペアの適用対象となる構成要件に、そのペアを適用することによって得られる構成要件を、新たに、着目している構成要件として選択することを繰り返す探索処理を実行させ、新規の構成要件が入力されたときに、当該新規の構成要件を着目している構成要件として選択させ、探索処理で、以前にスコアが算出されていて未だ選択されていない所定の情報から成る組が存在しない場合には、ペア毎に抽出した所定の情報から成る組の中で、最もスコアが高い所定の情報から成る組を選択させることを特徴とする。また、本発明は、上記のシステム構成導出プログラムを記録したコンピュータ読み取り可能な記録媒体であってもよい。
【発明の効果】
【００１６】
本発明によれば、システムを構築する際、システムの構成を効率的に導出することができる。
【図面の簡単な説明】
【００１７】
【図１】構成要件の一例を示す模式図である。
【図２】具体化規則の例を示す模式図である。
【図３】具体化規則の例を示す模式図である。
【図４】発明者想定技術において、「良い具体化」の基準として選択される構成要素の例を示す模式図である。
【図５】構成要件同士の類似度の特定の困難性の例を示す模式図である。
【図６】構成要件同士の類似度の特定の困難性の例を示す模式図である。
【図７】本発明の発明者が考えた、本発明に関連する技術の第２の課題の例を示す模式図である。
【図８】本発明の第１の実施形態に係るシステム構成導出装置の例を示すブロック図である。
【図９】構成要件の探索履歴の一例を示す模式図である。
【図１０】図９における具体化規則Ａおよび具体化規則Ｂを示す模式図である。
【図１１】単位構成要件の近傍情報の例を示す模式図である。
【図１２】４つ組の例を示す模式図である。
【図１３】種々の４つ組に含まれる３つ組を、具体化規則に応じて、具体化規則に対応するグループに分類し、分類された３つ組に対して定めたスコアの例を示す模式図である。
【図１４】具体化規則の違いや、構成要件内の具体化規則の適用箇所の違いによって、異なる構成要件が得られることを示す模式図である。
【図１５】具体化規則の例を示す模式図である。
【図１６】算出されたスコアの例を示す模式図である。
【図１７】スコアの演算方法を学習する際の処理経過の例を示すフローチャートである。
【図１８】入力された構成要件を起点として、構成要件をより具体化するように構成要件を探索していく処理の処理経過の例を示すフローチャートである。
【図１９】入力された構成要件を起点として、構成要件をより具体化するように構成要件を探索していく処理の処理経過の例を示すフローチャートである。
【図２０】本発明の実施形態に係るコンピュータの構成例を示す概略ブロック図である。
【図２１】本発明の第２の実施形態に係るシステム構成導出装置の例を示すブロック図である。
【発明を実施するための形態】
【００１８】
本発明の実施形態について説明する前に、本発明の発明者が考えた、本発明に関連する技術について説明する。以下、この関連技術について述べる。
【００１９】
具体的なＩＣＴ（Information and Communication Technology）システム構成を導出する技術として、本発明の発明者は、以下に示す技術を考えた。以下に説明する、発明者が考えた技術を、発明者想定技術と記す。
【００２０】
以下の説明において、「構成要件」とは、構築対象のＩＣＴシステムにおける、構成要素を示す情報、または、構成要素間の関係を示す情報である。構成要件が、構成要素を示す情報と、構成要素間の関係を示す情報の両方を含んでいてもよい。構成要素や、構成要素間の関係は、ＩＣＴシステムに関する要件を表わしている。構成要件に含まれる構成要素は、ソフトウェアであっても、ハードウェアであってもよい。
【００２１】
また、構成要件は、抽象的な（換言すれば、具体的でない）構成要素を示す情報や、構成要素間の抽象的な（具体的でない）関係を示す情報を含んでいてもよい。「構成要素が具体的でない」とは、構成要素の名称が具体化されていないことや、構成要素の名称が具体化されていたとしても、その構成要素が必要とする他の構成要素との間の関係が具体化されていないことである。また、構成要素間の関係が具体的であるか否かは、その関係の種類に応じて予め定められる。例えば、「HostedOn」という関係は具体的な関係として予め定められていて、「ConnectedTo 」という関係は具体的な関係ではないとして予め定められているものとする。
【００２２】
構成要件は、構成要素をノードで表し、構成要素間の関係をエッジで表したグラフで表現することができる。構成要素を表わすノードには、構成要素の「型」の名称が記述され、構成要素間の関係を表わすエッジには、その関係の「型」の名称が記述される。個々の「型」の名称には、その名称を有する構成要素の機能や、その名称を有する関係の特徴等が予め定められている。構成要素を表わすノードには、「型」の名称の他に、属性値（例えば、バージョン情報等）が記述されていてもよい。
【００２３】
また、構成要件の一部をより詳細に記述するように書き換える規則を「具体化規則」と記す。
【００２４】
図１は、構成要件の一例を示す模式図である。図１に示す例において、構成要素１０１に記述された型「ＭｙＡｐｐ」は、具体的なアプリケーションソフトウェアの名称であるものとする。また、構成要素１０２には、型として「ＭｙＳＱＬ」が記述され、「ＭｙＳＱＬ」のバージョンを示す[7~]が属性値として記述されている。構成要素１０３には、型「ＡＰＳ」が記述されている。「ＡＰＳ」は、Application Serverを意味するものとする。また、図１に示す例では、構成要素間の関係を示すエッジの型として「HostedOn」および「ConnectedTo 」を例示している。「HostedOn」は、矢印で表されたエッジのアローヘッドとは反対側の構成要素が、アローヘッド側の構成要素にホストされている（換言すれば、アローヘッドとは反対側の構成要素が、アローヘッド側の構成要素上で稼働する）ことを意味している。「connectedTo」は、ネットワークによって通信可能に接続されていることを意味している。「connectedTo」が記述され、矢印で表されたエッジでは、アローヘッドとは反対側の構成要素が、アローヘッド側の構成要素に通信を仕掛けることを表わしている。
【００２５】
図２は、具体化規則の例を示す模式図である。図２では、２つの具体化規則２０１，２０２を示している。具体化規則は、構成要件の中に、具体化規則の上段に適合する箇所が存在しているならば、その箇所を、具体化規則の下段に示すようにより詳細に書き換えることを表わしている。図２（ａ）に示す具体化規則２０１と、図２（ｂ）に示す具体化規則２０２とでは、上段の内容が共通である。図２に示すように、上段の内容が共通である具体化規則が複数存在してもよい。
【００２６】
なお、図２に示すマーク２０３は、そのマーク２０３が付加されている構成要素が他の構成要素を必要としていることを意味している。そして、必要とされる構成要素が、マーク２０３の近傍に記述されてもよい。例えば、図２（ａ），（ｂ）それぞれの上段に示す例では、構成要素「ＭＷ（Middle Ware ）」が他の構成要素「ＶＭ（Virtual Machine ）」を必要としていることを意味する。必要とされる構成要素が、マーク２０３の近傍に記述に記述されていなくてもよい。
【００２７】
また、「ＶＭＭ」は、ハイパーバイザーを意味する。
【００２８】
発明者想定技術では、例えば、コンピュータに、複数種類の具体化規則を予め記憶させておく。また、そのコンピュータには、構成要件が入力される。コンピュータは、入力された構成要件に適用可能な具体化規則を全て選択する。すなわち、コンピュータは、上段の部分が構成要件の一部に該当している具体化規則を全て選択する。そして、コンピュータは、選択した具体化規則毎に、構成要件の一部をより詳細に記述した構成要件を導出する。コンピュータは、新たに得られた各構成要件の中から、「良い具体化」の基準を満たす構成要件を１つ選択し、その構成要件に関しても、適用可能な具体化規則を全て選択する。さらに、コンピュータは、選択した具体化規則毎に、構成要件の一部をより詳細に記述した構成要件を導出する。コンピュータは、新たに導出した各構成要件、および、これまでに導出済みの構成要件であって未だ選択されていない構成要件のうち、「良い具体化」の基準を満たす構成要件を１つ選択する。コンピュータは、同様の処理を繰り返し、「良い具体化」の基準を満たす構成要件として選択された構成要件をそれ以上具体化できなくなったならば、処理を終了する。
【００２９】
以下、コンピュータが順次、選択していく構成要件を、具体例を用いて説明する。以下に示す例では、最初に、図１に示す構成要件がコンピュータに入力される場合を例にして説明する。また、コンピュータは、図２（ａ），（ｂ）に示す具体化規則２０１，２０２の他に、図３（ａ），（ｂ）に示す具体化規則２０４，２０５や、その他の具体化規則を記憶しているものとする。なお、図３（ａ）に示す「Ｅｓｘｉ（Elastic Sky Xi）」は、仮想化基盤を意味する。図３（ｂ）に示す「ＮＷ」は、Network を意味する。また、以下に示す具体例では、「良い具体化」の基準として、「構成要件に含まれる構成要素の数が最も少ない」という基準を用いる場合を例にして説明する。ただし、「良い具体化」の基準の基準は、この例に限定されない。図４は、「良い具体化」の基準として選択される構成要素の例を示す模式図である。入力された構成要件を符号“３０１”で表す。
【００３０】
コンピュータは、入力された構成要件３０１に適用可能な具体化規則として、具体化規則２０１，２０２（図２参照）を選択する。そして、コンピュータは、構成要件３０１に具体化規則２０２（図２（ｂ）参照）を適用することによって構成要件３０２を導出し、構成要件３０１に具体化規則２０１（図２（ａ）参照）を適用することによって構成要件３０３を導出する。コンピュータは、構成要件３０２，３０３のうち、「構成要件に含まれる構成要素の数が最も少ない」という基準に基づき、構成要件３０２を選択する。さらに、コンピュータは、構成要件３０２に適用可能な具体化規則として、具体化規則２０４，２０５（図３参照）を選択する。そして、コンピュータは、構成要件３０２に具体化規則２０５（図３（ｂ）参照）を適用することによって構成要件３０４を導出し、構成要件３０２に具体化規則２０４（図３（ａ）参照）を適用することによって構成要件３０５を導出する。コンピュータは、新たに導出した構成要件３０４，３０５、および、これまでに導出済みの構成要件であって未だ選択されていない構成要件３０３のうち、上記の基準に基づいて、構成要件３０３を選択したとする。さらに、コンピュータは、構成要件３０３に適用可能な具体化規則を選択し、その具体化規則を用いて、構成要件３０３から新たな構成要件（図４において図示略）を導出する。コンピュータは、新たに導出した構成要件、および、これまでに導出済みの構成要件であって未だ選択されていない構成要件３０４，３０５のうち、上記の基準に基づいて、構成要件３０４を選択したとする。図４では、上記の具体例の説明で選択された構成要件を、太線で示している。上記の具体例の説明では、「構成要件３０１」、「構成要件３０２」、「構成要件３０３」、「構成要件３０４」の順に選択されている。コンピュータは、構成要件３０４を選択した後も同様の処理を繰り返し、基準を満たす構成要件として選択された構成要件をそれ以上具体化できなくなったならば、処理を終了する。
【００３１】
なお、発明者は、基準を満たす構成要件に対する制約条件を設けてもよいと考えた。例えば、『特定の構成要素と他の構成要素との関係が「connectedTo 」となることはない。』等の制約条件を設けてもよいと考えた。この場合、基準を満たす構成要件であっても、このような制約条件を満たしていなければ、選択されないことになる。
【００３２】
上述の発明者想定技術は、木探索問題の一種として捉えることができる。そして、基準を満たす構成要件として選択された構成要件であって、それ以上具体化できない構成要件は、葉ノードに該当し、起点となる構成要件３０１（図４参照）は、ルートノードに該当する。ルートノードから葉ノードまで辿ることができ、ルートノードから葉ノードまでのパス上の構成要件は、全て、基準を満たす構成要件として選択済みの構成要件である。例えば、構成要件３０４の下位の構成要件が葉ノードに該当したとすると、ルートノードから葉ノードまでのパスは、「構成要件３０１→構成要件３０２→構成要件３０４→・・・・」となる。このパスに含まれる構成要件は、いずれも、基準を満たす構成要件として選択済みの構成要件である。
【００３３】
発明者は、過去に、ＩＣＴシステムを構築するために、入力した構成要件に基づいて具体化された構成要件を導出したときにおける、基準を満たす構成要件の探索の履歴を、過去に構築したＩＣＴシステム毎に、記録しておくことを考えた。
【００３４】
なお、発明者は、上記の発明者想定技術の他に、以下に示す技術も考えた。コンピュータは、上記の発明者想定技術と同様に、複数種類の具体化規則を予め記憶している。そして、コンピュータは、入力された構成要件を木構造のルートノードとして、制約条件を満たしている限り、具体化規則によって得られる各構成要件を全て選択していくことを繰り返し、選択された構成要件をそれ以上具体化できなくなったならば、その構成要件から新たな構成要件を導出しない。この技術を、全探索技術と記す。全探索技術では、葉ノードが複数存在する木構造が得られる。従って、全探索技術では、葉ノードに該当する構成要件が複数得られる。設計者は、その複数の構成要件から、最も好ましい構成要件を判断する。この場合にも、ルートノード（入力された構成要件）から、最も好ましいと判断された構成要件まで辿ることができる。発明者は、過去にＩＣＴシステムを構築したときにおけるルートノードから最も好ましいと判断された構成要件までのパスを、好ましい探索履歴として、過去に構築したＩＣＴシステム毎に、記録しておくことを考えた。
【００３５】
そして、発明者は、新たなＩＣＴシステムを構築するときに、新たな構成要件に基づいて好ましい構成要件を効率的に探索するために、記録しておいた過去における構成要件の探索の履歴を利用することができないかを検討した。発明者は、過去における探索の履歴は、発明者想定技術に基づいて得られたものであっても、全探索技術によって得られたものであっても、あるいは、他の技術によって得られたものであってもよいと考えた。
【００３６】
しかし、発明者は、新たな構成要件に基づいて好ましい構成要件を効率的に探索するために、過去における構成要件の探索の履歴を利用する場合に、課題が生じると考えた。
【００３７】
発明者が考えた第１の課題は、新たに構成要件を探索する際に、新たな構成要件と、過去の探索の履歴に含まれる構成要件とを比較して、構成要件同士の類似度を求めなければならないが、その類似度を特定することが難しいという課題である。構成要件同士の類似度が特定できなければ、新たに構成要件を探索する際に、過去における探索の履歴を利用することが困難になってしまう。図５および図６は、構成要件同士の類似度の特定の困難性の例を示す模式図である。図５では、過去の構成要件と、新たに得られた構成要件とを示している。この２つの構成要件では、構成要素１１１（ＭｙＳＱＬ[7~]）と構成要素１１２（ＶＭ）とが「hostedOn」という関係で繋がれている点は共通である。しかし、その他の構成要素は、共通ではないため、過去の構成要件と、新たに得られた構成要件との類似度を定めることができない。同様に、図６でも、過去の構成要件と、新たに得られた構成要件とを示している。この２つの構成要件では、構成要素１１３（ＮＷ）と構成要素１１４（ルータ）とが「connectedTo 」という関係で繋がれている点は共通である。しかし、その他の構成要素に着目すると、ＶＭの数が異なっていたり、構成要素１１３以外のＮＷの有無の違いがあったりして、そのような相違を定量化することが困難であり、２つの構成要件の類似度を定めることができない。このように、類似度を定めることが困難であるため、新たに構成要件を探索する際に、過去における探索の履歴を利用することが困難になってしまう。
【００３８】
発明者が考えた第２の課題は、過去の構成要件と、新たに得られた構成要件とが全く同じであっても、その２つの構成要件における設計の意図が異なっている場合があり、そのような場合には、新たに構成要件を探索する際に、過去における探索の履歴を利用することが困難であるという点である。全く同じ２つ構成要件において、その構成要件における設計の意図が異なる場合というのは、その２つの構成要件の出所が異なる場合である。図７は、第２の課題の例を示す模式図である。図７に示す構成要件４００，４０１は、過去の構成要件であり、構成要件４１１は、新たに得られた構成要件である。構成要件４０１と構成要件４１１は、同一である。しかし、構成要件４０１は、構成要件４００に所定の具体化規則を適用して得られた構成要件である。従って、構成要件４０１には、「ＡＰ（Application）を繋ぎたい。」という目的によって得られたものである。一方、構成要件４１１は、起点となる構成要件として与えられた構成要件であり、出所となる構成要件は存在しない。従って、構成要件４１１は、「ＡＰ（Application）を繋ぎたい。」という目的によって得られたものではない。このように、構成要件４０１と構成要件４１１は同一の構成要件であるが、出所が異なるため、設計の意図が異なっている。そのため、構成要件４１１からの探索を効率的に行うために、構成要件４０１以降の探索履歴をそのまま利用したとしても、適切な探索にはならない。
【００３９】
以上が、本発明の発明者が考えた、本発明に関連する技術である。以下に説明する本発明によれば、上記の第１の課題や、第２の課題は、解決される。
【００４０】
以下、図面を参照して本発明の実施形態を説明する。
【００４１】
実施形態１．
本発明においても、「構成要件」や「具体化規則」を用いるので、本発明における「構成要件」や「具体化規則」は、前述の発明者想定技術における「構成要件」や「具体化規則」と同様であるが、実施形態においても、「構成要件」や「具体化規則」について説明する。
【００４２】
「構成要件」とは、構築対象のＩＣＴシステムにおける、構成要素を示す情報、または、構成要素間の関係を示す情報である。構成要件が、構成要素を示す情報と、構成要素間の関係を示す情報の両方を含んでいてもよい。構成要素や、構成要素間の関係は、ＩＣＴシステムに関する要件を表わしている。構成要件に含まれる構成要素は、ソフトウェアであっても、ハードウェアであってもよい。
【００４３】
また、構成要件は、抽象的な（換言すれば、具体的でない）構成要素を示す情報や、構成要素間の抽象的な（具体的でない）関係を示す情報を含んでいてもよい。「構成要素が具体的でない」とは、構成要素の名称が具体化されていないことや、構成要素の名称が具体化されていたとしても、その構成要素が必要とする他の構成要素との間の関係が具体化されていないことである。また、構成要素間の関係が具体的であるか否かは、その関係の種類に応じて予め定められる。例えば、「HostedOn」という関係は具体的な関係として予め定められていて、「ConnectedTo 」という関係は具体的な関係ではないとして予め定められているものとする。
【００４４】
構成要件は、構成要素をノードで表し、構成要素間の関係をエッジで表したグラフで表現することができる。構成要素を表わすノードには、構成要素の「型」の名称が記述され、構成要素間の関係を表わすエッジには、その関係の「型」の名称が記述される。個々の「型」の名称には、その名称を有する構成要素の機能や、その名称を有する関係の特徴等が予め定められている。構成要素を表わすノードには、「型」の名称の他に、属性値（例えば、バージョン情報等）が記述されていてもよい。
【００４５】
構成要件の例は、例えば、図１に示すように表すことができる。図１については、既に説明しているので、ここでは、説明を省略する。
【００４６】
「具体化規則」は、構成要件の一部をより詳細に記述するように書き換える規則である。具体化規則の例として、例えば、図２に示す具体化規則２０１，２０２が挙げられる。具体化規則は、構成要件の中に、具体化規則の上段に適合する箇所が存在しているならば、その箇所を、具体化規則の下段に示すようにより詳細に書き換えることを表わしている。図２に示すように、上段の内容が共通である具体化規則が複数存在してもよい。図２に示すマーク２０３については、既に説明しているので、ここでは、説明を省略する。
【００４７】
図８は、本発明の第１の実施形態に係るシステム構成導出装置の例を示すブロック図である。本実施形態のシステム構成導出装置１０は、探索履歴記憶部１１と、情報抽出部１２と、学習データ記憶部１３と、学習部１４と、学習結果記憶部１５と、具体化規則記憶部１６と、入力部１７と、探索部１８と、探索経過記憶部１９とを備える。
【００４８】
探索履歴記憶部１１は、過去において適切と判定された構成要件の探索履歴を記憶する記憶装置である。探索履歴記憶部１１に記憶される構成要件の探索履歴は、過去に、ＩＣＴシステムを構築するために、与えられた構成要件に基づいて具体化された構成要件を導出したときにおける探索履歴であり、適切と判定された構成要件の探索履歴である。
【００４９】
例えば、前述の発明者想定技術が適用されたコンピュータが、入力された構成要件を起点として、「良い具体化」の基準を満たす構成要件を探索し、「良い具体化」の基準を満たす構成要件であってそれ以上具体化できない構成要件まで探索したとする。この構成要件は、木構造における葉ノードに該当し、起点として構成要件はルートノードに該当する。既に説明したように、ルートノードから葉ノードまでのパス上の構成要件は、全て、基準を満たす構成要件として選択済みの構成要件である。システム構成導出装置１０の管理者は、ルートノード側から葉ノード側に順序付けたパス上の各構成要件と、パス上の個々の構成要件から次の構成要件を導出する際に用いた個々の具体化規則とを、過去において適切と判定された構成要件の探索履歴として、予め探索履歴記憶部１１に記憶させておく。
【００５０】
探索履歴記憶部１１に記憶される探索履歴は、前述の発明者想定技術に基づいて得られた探索履歴に限定されない。例えば、前述の全探索技術が適用されたコンピュータが、入力された構成要件を起点として、制約条件を満たしている限り、具体化規則によって得られる各構成要件を全て選択していくことを繰り返し、葉ノードに該当する構成要件が複数存在する木構造を生成したとする。そして、設計者が、葉ノードに該当する複数の構成要件から、最も好ましい構成要件を判断したとする。すると、ルートノード（入力された構成要件）から、最も好ましいと判断された構成要件までのパスが特定できる。システム構成導出装置１０の管理者は、ルートノード側から葉ノード側に順序付けたパス上の各構成要件と、パス上の個々の構成要件から次の構成要件を導出する際に用いた個々の具体化規則とを、過去において適切と判定された構成要件の探索履歴として、予め探索履歴記憶部１１に記憶させてもよい。
【００５１】
探索履歴記憶部１１が記憶する構成要件の探索履歴の数は１つとは限らない。システム構成導出装置１０の管理者は、過去にＩＣＴシステムを構築する際に、例えば、上述のように発明者想定技術や全探索技術に基づいて得られた探索履歴を収集し、その探索履歴を探索履歴記憶部１１に記憶させる。なお、探索履歴記憶部１１が記憶する探索履歴は、発明者想定技術や全探索技術以外の技術に基づいて得られた探索履歴であってもよい。
【００５２】
図９は、探索履歴記憶部１１が記憶する構成要件の探索履歴の一例を示す模式図である。図９に示す例では、構成要件２１が、最初に与えられた構成要件であり、起点となる。図９に示す例では、構成要件２１には、構成要素３１〜３４が含まれ、構成要素３１（ＡＰ）と構成要素３２（ＡＰ）とが「connectedTo 」という関係で繋がれ、同様に、構成要素３３（ＡＰ）と構成要素３４（ＡＰ）とが「connectedTo 」という関係で繋がれている。
【００５３】
そして、図９に例示する探索履歴では、構成要件２１に具体化規則Ａを適用することによって、構成要件２１が構成要件２２に遷移し、構成要件２２に具体化規則Ａを適用することによって構成要件２２が構成要件２３に遷移し、構成要件２３に具体化規則Ｂを適用することによって構成要件２３が構成要件２４に遷移したことを表わしている。なお、構成要件２４より後の構成要件の遷移も、探索履歴に含まれているが、図９では図示を省略している。図９から分かるように、探索履歴では、１つの構成要件から次の構成要件への遷移毎に、具体化規則が割り付けられている。例えば、構成要件２１から構成要件２２への遷移５１には、「具体化規則Ａ」が割り付けられている。他の遷移５２，５３等にもそれぞれ、具体化規則が割り付けられている。
【００５４】
図１０は、図９における具体化規則Ａおよび具体化規則Ｂを示す模式図である。
【００５５】
情報抽出部１２は、探索履歴記憶部１１に記憶されている探索履歴（例えば、図９を参照）から、１つの構成要件から次の構成要件への遷移毎に、具体化規則を含む所定の情報から成る組を抽出する。情報抽出部１２が遷移毎に抽出する所定の情報から成る組について、より詳細に説明する。
【００５６】
情報抽出部１２は、上記の所定の情報から成る組として、４種類の情報から成る組合せ（以下、４つ組と記す。）を抽出する。４つ組に含まれる４種類の情報は、以下に示す情報である。
（１）具体化規則
（２）単位構成要件
（３）単位構成要件の近傍情報
（４）単位構成要件履歴情報
【００５７】
なお、この４つ組は、上記の所定の情報から成る組の例であり、上記の所定の情報から成る組は、この４つ組以外であってもよい。以下、上記の所定の情報から成る組が、この４つ組である場合を例にして説明する。
【００５８】
上記（１）〜（４）の４種類の情報について説明する。
【００５９】
情報抽出部１２は、探索履歴から、１つの構成要件から次の構成要件への遷移毎に、４つ組を抽出する。そして、前述のように、１つの構成要件から次の構成要件への遷移毎に、具体化規則が割り付けられている。情報抽出部１２は、４つ組の抽出対象の遷移に割り付けられている具体化規則を、４つ組をなす情報の１つとして抽出する。すなわち、４つ組に含まれている具体化規則は、構成要素の遷移に割り付けられている具体化規則である。
【００６０】
「単位構成要件」とは、具体化規則が適用される構成要件内でその具体化規則によって書き換えられる部分である。また、この構成要件は、遷移前の構成要件である。情報抽出部１２は、４つ組の抽出対象の遷移前後の構成要件と、その遷移に割り付けられている具体化規則とに基づいて、遷移前の構成要件から単位構成要件を抽出する。
【００６１】
「単位構成要件の近傍情報」とは、単位構成要件の近傍に関する情報である。以下、単位構成要件の近傍情報を、単に、近傍情報と記す場合がある。近傍情報は、例えば、単位構成要件と、その単位構成要件からＮホップ以内の構成要素および構成要素間の関係とを示す情報である。近傍情報に含まれる構成要素および構成要素間の関係には、いずれも「型」の名称が記述される。また、近傍情報に含まれる構成要素や、構成要素間の関係には、「型」の名称の他に、属性値（例えば、バージョン情報等）が記述されていてもよい。この例では、近傍情報の中に、単位構成要件も包含される。ただし、近傍情報は、上記の例に限定されない。近傍情報の他の例については後述する。また、ＮホップにおけるＮの値は、例えば、Ｎ＝１であるが、Ｎ＝１に限定されず、Ｎ＝２、Ｎ＝３等であってもよい。以下の説明では、Ｎ＝１である場合を例にする。すなわち、以下の説明では、単位構成要件と、その単位構成要件から１ホップ以内の構成要素および構成要素間の関係とを示す情報を近傍情報とする場合を例にして説明する。図１１は、近傍情報の例を示す模式図である。
【００６２】
図１１（ａ）は、構成要件を示す。この構成要件に含まれる単位構成要件が、構成要素１０３（ＡＰＳ）であるとする。図１１において、単位構成要件を破線で囲んで図示する。この場合、近傍情報は、構成要素１０３（単位構成要件）と、構成要素１０３から１ホップ以内の構成要素および構成要素間の関係とを示す情報である。図１１（ｂ）は、この近傍情報を示している。図１１（ｂ）において、構成要素１０１および構成要素１０２は、構成要素１０３（単位構成要件）から１ホップ以内の構成要件である。また、構成要素１０３，１０１間の関係（hostedOn）は、構成要素１０３から１ホップ以内の構成要素間の関係に該当する。同様に、構成要素１０３，１０２間の関係（connectedTo ）は、構成要素１０３から１ホップ以内の構成要素間の関係に該当する。一方、構成要素１０１，１０２間の関係（hostedOn、図１１（ａ）参照）は、構成要素１０３から１ホップ以内の構成要素間の関係に該当せず、近傍情報に含まれない。
【００６３】
また、近傍情報に対する１つまたは複数の制約条件が予め指定されていてもよい。例えば、制約条件として、特定の構成要素の型が指定されているとする。その場合、情報抽出部１２は、単位構成要件から１ホップ以内の構成要素のうち、指定された型に該当する構成要素、および、単位構成要件内の構成要素と指定された型に該当する構成要素との関係を近傍情報に含める。一方、情報抽出部１２は、単位構成要件から１ホップ以内の構成要素のうち、指定された型に該当しない構成要素、および、単位構成要件内の構成要素と指定された型に該当しない構成要素との関係に関しては、近傍情報に含めない。Ｎ＝１以外の場合であっても同様である。
【００６４】
単位構成要件履歴情報は、単位構成要件の生成に関連して用いられた具体化規則と、その具体化規則がどの構成要件のどの箇所に適用されたかを示す情報とを含む情報である。「単位構成要件の生成に関連して用いられた具体化規則」とは、換言すれば、「単位構成要件に含まれる構成要素や構成要素間の関係、および、構成要件に含まれる構成要素や関係を生成する元となった構成要素や関係」の生成に寄与した具体化規則である。ここで、「構成要件に含まれる構成要素や関係を生成する元となった構成要素や関係」とは、起点となる構成要件から、４つ組の抽出対象の遷移前の構成要件までの各構成要件の中で、構成要件に含まれる構成要素や関係を生成するために必要であった構成要素や関係を意味する。例えば、起点となる構成要件に含まれる構成要素「ＡＰ」に基づいて、構成要素「ＶＭ」が生成され、さらに、その構成要素「ＶＭ」に基づいて、構成要素「ＮＷ」が生成されたとする。そして、その構成要素「ＮＷ」が単位構成要件に含まれているとする。この場合、「ＡＰ」および「ＶＭ」がいずれも、構成要素「ＮＷ」を生成する元になった構成要素に該当する。単位構成要件履歴情報の具体例については後述する。
【００６５】
情報抽出部１２が抽出する４つ組をなす情報のうち、単位構成要件履歴情報は、「なし」という情報であってもよい。
【００６６】
図９に示す構成要件２３から次の構成要件２４への遷移５３を対象として情報抽出部１２が抽出する４つ組を説明する。図１２は、遷移５３を対象とした場合に抽出される４つ組を示す模式図である。
【００６７】
探索履歴において、遷移５３に割り付けられている具体化規則は、具体化規則Ｂ（図１０（ｂ）参照）である。従って、情報抽出部１２は、具体化規則Ｂを探索履歴から抽出する。
【００６８】
また、情報抽出部１２は、構成要件２３，２４と具体化規則Ｂとに基づいて、遷移前の構成要件２３における単位構成要件が、構成要素３５，３６、および、構成要素３５，３６間の「connectedTo 」という関係であると判定し、その単位構成要件を構成要件２３から抽出する。抽出された単位構成要件を図１２に示している。
【００６９】
次に、情報抽出部１２は、上記の単位構成要件の近傍情報を、構成要件２３から抽出する。抽出された単位構成要件の近傍情報を図１２に示している。
【００７０】
次に、情報抽出部１２は、上記の単位構成要件の生成に関連して用いられた具体化規則と、その具体化規則がどの構成要件のどの箇所に適用されたかを示す情報とを含む単位構成要件履歴情報を抽出する。図９に示す遷移５１で単位構成要件が生成されている。従って、情報抽出部１２は、遷移５１に割り付けられている具体化規則Ａ（図１０（ａ）参照）と、その具体化規則Ａが適用された構成要件２１、および、構成要件２１内で具体化規則Ａが適用された箇所を抽出する。
【００７１】
単位構成要件の生成に関連して用いられた具体化規則が他にも１つ以上あれば、情報抽出部１２は、具体化規則毎に、その具体化規則と、その具体化規則がどの構成要件のどの箇所に適用されたかを示す情報を抽出する。
【００７２】
本例では、遷移５２に割り付けられている具体化規則Ａは、図１２（２）に示されている単位構成要件に含まれない構成要素３７，３８および構成要素３７，３８間の関係の生成に寄与するものであり、図１２（２）に示されている単位構成要件の生成には寄与していない。従って、遷移５２に割り付けられている具体化規則Ａや、構成要件２２においてその具体化規則Ａが適用された箇所等は、単位構成要件履歴情報に含まれない。
【００７３】
本例において抽出された単位構成要件履歴情報を図１２に示している。
【００７４】
情報抽出部１２は、遷移毎に、４つ組を抽出する。図９に示す遷移５１を対象とした場合には、情報抽出部１２は、以下の４つ組を抽出する。
【００７５】
（１）具体化規則
情報抽出部１２は、「具体化規則Ａ」を抽出する。
【００７６】
（２）単位構成要件
情報抽出部１２は、構成要件２１に含まれる構成要素３１，３２、および、構成要素３１，３２間の関係を抽出する。
【００７７】
（３）単位構成要件の近傍情報
単位構成要件に含まれる構成要素３１，３２に接続される他の構成要素は存在しないので、本例では、単位構成要件の近傍情報は、単位構成要件と同一になる。
【００７８】
（４）単位構成要件履歴情報
本例では、単位構成要件は、与えられた構成要件２１に含まれている。そのため、単位構成要件の生成に関連して用いられた具体化規則は、ない。よって、情報抽出部１２は、単位構成要件履歴情報として、「なし」という情報を得る。
【００７９】
また、図９に示す遷移５２を対象とした場合、情報抽出部１２は、以下の４つ組を抽出する。
【００８０】
（１）具体化規則
情報抽出部１２は、「具体化規則Ａ」を抽出する。
【００８１】
（２）単位構成要件
情報抽出部１２は、構成要件２２に含まれる構成要素３３，３４、および、構成要素３３，３４間の関係を抽出する。
【００８２】
（３）単位構成要件の近傍情報
単位構成要件に含まれる構成要素３３，３４に接続される他の構成要素は存在しないので、本例では、単位構成要件の近傍情報は、単位構成要件と同一になる。
【００８３】
（４）単位構成要件履歴情報
本例では、単位構成要件は、与えられた構成要件２１に含まれている。そのため、単位構成要件の生成に関連して用いられた具体化規則は、ない。よって、情報抽出部１２は、単位構成要件履歴情報として、「なし」という情報を得る。
【００８４】
以上、図９に示す遷移５３，５１，５２から得られる４つ組をそれぞれ説明した。情報抽出部１２は、探索履歴記憶部１１に記憶された各探索履歴における構成要件の遷移毎に、４つ組を抽出する。
【００８５】
また、情報抽出部１２は、抽出した各４つ組を、学習データ記憶部１３に記憶させる。学習データ記憶部１３は、４つ組の集合を記憶する記憶装置である。
【００８６】
学習部１４は、学習データ記憶部１３に記憶された４つ組の集合を学習データとして、与えられた４つ組に含まれる具体化規則の適切さの度合いを示すスコアの演算方法を、機械学習によって学習する。学習部１４は、４つ組に対応するスコアの演算方法の機械学習において、非特許文献４に記載された技術を用いてもよい。
【００８７】
ここで、与えられた４つ組に対するスコアを算出する方式を、モデルと称する。モデルは、予め定められている。本実施形態では、４つ組が与えられた場合、４つ組に含まれている具体化規則に応じて、４つ組における具体化規則以外の３種類の情報（以下、３つ組と記す。）を、具体化規則に対応するグループに分類し、そのグループにおけるその３つ組のスコアを定めるという方式が、モデルとして予め定められている場合を例にして説明する。ただし、モデルとして、他のモデル（方式）が定められていてもよい。
【００８８】
図１３は、種々の４つ組に含まれる３つ組を、具体化規則に応じて、具体化規則に対応するグループに分類し、分類された３つ組に対して定めたスコアの例を示す模式図である。図１３では、具体化規則に対応するグループを２つ図示している。また、図１３に示す各矩形は、３つ組を模式的に表わしている。そして、その矩形の近傍に示した値は、グループに分類された３つ組のスコアを示している。なお、図１３に示す具体化規則において“ＦＷ”は、ファイアウォールを意味し、“Ｒ”は、ルータを意味する。
【００８９】
学習部１４は、４つ組の集合を学習データとして、上記のモデルに基づいたスコアの演算方法を、機械学習によって学習する。例えば、学習部１４は、具体化規則に対応するグループ毎に、３つ組のスコアを算出する演算方法（例えば、演算式）を学習する。
【００９０】
上記のモデルにおいて、スコアは、３つ組が示す状況において、３つ組が分類されているグループに対応する具体化規則を用いた場合の、遷移後の構成要件の適切さの度合いを表しているということができる。
【００９１】
学習部１４は、学習結果（４つ組が与えられた場合にその４つ組に含まれる具体化規則の適切さの度合いを示すスコアの演算方法）を、学習結果記憶部１５に記憶させる。学習結果記憶部１５は、学習部１４による学習結果（スコアの演算方法）を記憶する記憶装置である。
【００９２】
具体化規則記憶部１６は、複数種類の具体化規則を記憶する記憶装置である。
【００９３】
入力部１７は、新規の構成要件が入力される入力デバイスである。
【００９４】
探索部１８は、着目している構成要件に適用可能な具体化規則を、具体化規則記憶部１６から読み込む。着目している構成要件に適用可能な具体化規則は、１つとは限らず、２つ以上存在していてもよい。
【００９５】
入力部１７に新規の構成要件が入力された場合、探索部１８は、その新規の構成要件を、着目している構成要件として選択する。また、後述するように、探索部１８は、着目している構成要件を、順次、選択していく。
【００９６】
探索部１８は、具体化規則記憶部１６から読み込んだ具体化規則と、着目している構成要件内におけるその具体化規則の適用箇所とのペアを定める。構成要件に適用される具体化規則が共通であっても、構成要件内における具体化規則の適用箇所が異なれば、得られる構成要件も異なる。そして、具体化規則の適用箇所に応じて、得られるスコアも異なる。そのため、探索部１８は、上記のように、具体化規則と、着目している構成要件内におけるその具体化規則の適用箇所とのペアをそれぞれ定める。
【００９７】
図１４は、具体化規則の違いや、構成要件内の具体化規則の適用箇所の違いによって、異なる構成要件が得られることを示す模式図である。ここで、図１４に示す構成要件６１は、入力部１７に入力された構成要件であり、探索部１８は、構成要件６１を、着目している構成要件として選択しているものとする。また、探索部１８は、構成要件６１に適用可能な具体化規則として、図１５に示す２つの具体化規則２１１，２１２を具体化規則記憶部１６から読み込んだとする。
【００９８】
具体化規則２１１（図１５（ａ）参照）は、構成要件６１内の構成要素１２１，１２２にそれぞれ適用可能であり、具体化規則２１１を、構成要素１２１，１２２のどちらに適用するかによって、得られる構成要件が変わる。また、具体化規則２１２（図１５（ｂ）参照）は、構成要件６１内の構成要素１２１，１２２およびその両者を繋ぐ関係に該当する箇所に適用可能である。
【００９９】
具体化規則２１１を構成要素１２１に適用した場合、構成要件６２（図１４参照）が得られる。
【０１００】
具体化規則２１１を構成要素１２２に適用した場合、構成要件６３（図１４参照）が得られる。
【０１０１】
具体化規則２１２を、構成要素１２１，１２２およびその両者を繋ぐ関係に該当する箇所に適用に適用すると、構成要件６４（図１４参照）が得られる。
【０１０２】
本例では、探索部１８は、具体化規則とその適用箇所とのペアとして、以下の３つのペアを定める。
（ペア１）  具体化規則２１１と、構成要素１２１とのペア
（ペア２）  具体化規則２１１と、構成要素１２２とのペア
（ペア３）  具体化規則２１２と、「構成要素１２１，１２２およびその両者を繋ぐ関係に該当する箇所」とのペア
【０１０３】
探索部１８は、定めたペア毎に、前述の４つ組を抽出する。探索部１８は、４つ組における具体化規則として、ペアに含まれる具体化規則を抽出すればよい。また、探索部１８は、４つ組における単位構成要件として、ペアに含まれる適用箇所（具体化規則の適用箇所）を抽出すればよい。そして、探索部１８は、単位構成要件に応じて、単位構成要件の近傍情報および単位構成要件履歴情報を定めればよい。探索部１８が単位構成要件の近傍情報および単位構成要件履歴情報を定める方法は、情報抽出部１２が単位構成要件の近傍情報および単位構成要件履歴情報を定める方法と同様である。
【０１０４】
なお、情報抽出部１２が４つ組を抽出する場合と同様に、近傍情報に対する１つまたは複数の制約条件が予め指定されていてもよい。この場合、探索部１８は、その制約条件を満足する近傍情報を含む４つ組を抽出する。
【０１０５】
上記の「ペア１」に応じて抽出される４つ組は、構成要件６１から構成要件６２への遷移７１に割り付けられる。上記の「ペア２」に応じて抽出される４つ組は、構成要件６１から構成要件６３への遷移７２に割り付けられる。上記の「ペア３」に応じて抽出される４つ組は、構成要件６１から構成要件６４への遷移７３に割り付けられる。
【０１０６】
さらに、探索部１８は、定めたペア毎に、４つ組をスコアの演算方法に適用することによって、４つ組のスコアを算出する。スコアの演算方法は、前述のように学習部１４によって学習され、学習結果記憶部１５に記憶されている。
【０１０７】
探索部１８は、ペア毎に抽出した４つ組、および、以前に（換言すれば、今回のスコア算出よりも前に）探索部１８によってスコアが算出されていて未だ選択されていない４つ組の中で、最もスコアが高い４つ組を選択する。
【０１０８】
ただし、以前に探索部１８によってスコアが算出されていて未だ選択されていない４つ組が存在しない場合には、探索部１８は、ペア毎に抽出した４つ組の中で、最もスコアが高い４つ組を選択すればよい。図１４に示す例では、構成要件６１は新規に入力された構成要件である。従って、図１４に示す例では、以前に探索部１８によってスコアが算出されていて未だ選択されていない４つ組は、存在しない。よって、探索部１８は、３つの４つ組の中で、最もスコアが高い４つ組を選択すればよい。
【０１０９】
探索部１８は、選択した４つ組に対応するペアの適用対象となる構成要件に、そのペアを適用することによって得られる構成要件を、新たに、着目している構成要件として選択する。
【０１１０】
例えば、上記の「ペア１」に対応する４つ組のスコアが“０．９”であり、上記の「ペア２」に対応する４つ組のスコアが“０．８”であり、「ペア３」に対応する４つ組のスコアが“０．６”であるとする（図１６参照）。この場合、「ペア１」に対応する４つ組のスコアが最も高い。スコアが最も高い４つ組に対応する「ペア１」の適用対象となる構成要件は、構成要件６１である。従って、探索部１８は、構成要件６１に「ペア１」を適用することによって得られる構成要件６２を、着目している構成要件として新たに選択する。
【０１１１】
本例では、構成要件６１は、新規の構成要件であり、上記の「ペア１」、「ペア２」、「ペア３」それぞれの適用対象は、全て構成要件６１となる。従って、最もスコアが高い４つ組に対応するペア（ペア１）の適用対象となる構成要件は、着目している構成要件に該当する。しかし、探索が進んだ場合、最もスコアが高い４つ組に対応するペアの適用対象となる構成要件は、着目している構成要件に該当しない場合もあり得る。
【０１１２】
探索部１８は、着目している構成要件として新たに選択すると、同様の動作を繰り返す。従って、探索部１８は、着目している構成要件を、順次、選択していく。
【０１１３】
また、探索部１８は、上記の動作において、着目している構成要件、着目している構成要件に対して定めた各ペア、ペア毎に抽出した４つ組、ペア毎に算出したスコア（４つ組のスコア）、および、着目している構成要件として新たに選択した構成要件を、探索経過記憶部１９に記憶させる。探索経過記憶部１９は、これらの情報を記憶する記憶装置である。上記の各種情報を探索経過記憶部１９に記憶させることで、構成要件の探索が進んだとしても、探索部１８は、４つ組に含まれる単位構成要件履歴情報を抽出することができる。
【０１１４】
探索部１８は、構成要件６２を、着目している構成要件として新たに選択した場合、構成要件６２に適用可能な具体化規則を、具体化規則記憶部１６から読み込む。そして、探索部１８は、読み込んだ具体化規則と、構成要件６２内におけるその具体化規則の適用箇所とのペアを定める。
【０１１５】
そして、探索部１８は、定めたペア毎に、前述の４つ組を抽出する。さらに、探索部１８は、定めたペア毎に、４つ組のスコアを算出する。
【０１１６】
探索部１８は、ペア毎に抽出した４つ組、および、以前に探索部１８によってスコアが算出されていて未だ選択されていない４つ組の中で、最もスコアが高い４つ組を選択する。ここでは、以前に探索部１８によってスコアが算出されていて未だ選択されていない４つ組として、スコア“０．８”（図１６参照）が算出されている４つ組、および、スコア“０．６”（図１６参照）が算出されている４つ組が存在する。従って、探索部１８は、今回算出した各スコア、および、以前に算出したスコア“０．８”，“０．６”の中で、最高のスコアを選択し、最もスコアが高い４つ組を選択する。本例では、着目している構成要件に基づいて、２つの４つ組が得られ、その２つの４つ組のスコアが“０．５”，“０．４”であったとする。この場合、最も高いスコアは、以前に算出されたスコア“０．８”（図１６参照）である。すると、スコアが最も高い４つ組に対応するペアは、前述の「ペア２」になる。「ペア２」の適用対象となる構成要件は、構成要件６１である。従って、探索部１８は、構成要件６１に「ペア２」を適用することによって得られる構成要件６３を、着目している構成要件として新たに選択する。本例では、最もスコアが高い４つ組に対応するペアの適用対象となる構成要件は、着目している構成要件（構成要件６２）に該当していない。
【０１１７】
探索部１８は、着目している構成要件として新たに選択すると、同様の動作を繰り返す。
【０１１８】
上記の例では、着目している構成要件として、「構成要件６１」、「構成要件６２」、「構成要件６３」が順に選択される場合を示した。得られるスコアの値によっては、例えば、構成要件６２の次に、構成要件６２の下位の構成要件が、着目している構成要件として選択され得る。
【０１１９】
なお、着目している構成要件として新たに選択した構成要件を、より詳細に具体化できない場合には、探索部１８は、探索を終了し、その構成要件を、木構造における葉ノードに該当する構成要件として決定する。
【０１２０】
情報抽出部１２、学習部１４および探索部１８は、例えば、システム構成導出プログラムに従って動作するコンピュータのＣＰＵ（Central Processing Unit ）によって実現される。この場合、ＣＰＵは、コンピュータのプログラム記憶装置等のプログラム記録媒体からシステム構成導出プログラムを読み込み、そのシステム構成導出プログラムに従って、情報抽出部１２、学習部１４および探索部１８として動作すればよい。
【０１２１】
また、システム構成導出装置１０は、２つ以上の物理的に分離した装置が、有線または無線で接続されている構成であってもよい。
【０１２２】
次に、本発明の処理経過について説明する。なお、以下の説明では、既に説明した事項については、適宜、説明を省略する。
【０１２３】
図１７は、スコアの演算方法を学習する際の処理経過の例を示すフローチャートである。まず、情報抽出部１２が、探索履歴記憶部１１に記憶されている各探索履歴から、構成要件の遷移毎に４つ組を抽出し、抽出した４つ組の集合を学習データ記憶部１３に記憶させる（ステップＳ１）。
【０１２４】
次に、学習部１４が、学習データ記憶部１３から４つ組の集合を読み込む。学習部１４は、その４つ組の集合を学習データとして、４つ組のスコアを算出する演算方法（例えば、演算式）を、機械学習によって学習する（ステップＳ２）。
【０１２５】
学習部１４は、ステップＳ２で学習したスコアの演算方法を、学習結果記憶部１５に記憶させる（ステップＳ３）。
【０１２６】
図１８および図１９は、入力された構成要件を起点として、構成要件をより具体化するように構成要件を探索していく処理の処理経過の例を示すフローチャートである。
【０１２７】
まず、入力部１７を介して、新規の構成要件が入力される（ステップＳ１１）。
【０１２８】
探索部１８は、ステップＳ１１で入力された新規の構成要件を、着目している構成要件として選択する（ステップＳ１２）。
【０１２９】
なお、探索部１８は、この構成要件を、着目している構成要件として、探索経過記憶部１９に記憶させる。探索経過記憶部１９に記憶される情報は、４つ組に含まれる単位構成要件履歴情報を抽出する際に利用される。
【０１３０】
次に、探索部１８は、着目している構成要件に適用可能な具体化規則を、具体化規則記憶部１６から読み込む（ステップＳ１３）。
【０１３１】
次に、探索部１８は、ステップＳ１３で読み込んだ具体化規則と、着目している構成要件内におけるその具体規則の適用箇所とのペアを定める（ステップＳ１４）。ステップＳ１４で、複数のペアが得られてもよい。
【０１３２】
探索部１８は、各ペアを、着目している構成要件に関連付けて、探索経過記憶部１９に記憶させる。
【０１３３】
次に、探索部１８は、ステップＳ１４で定めたペア毎に４つ組を抽出する（ステップＳ１５）。
【０１３４】
さらに、探索部１８は、ステップＳ１４で定めたペア毎に、４つ組をスコアの演算方法に適用することによって、４つ組のスコアを算出する（ステップＳ１６）。
【０１３５】
探索部１８は、４つ組およびそのスコアをペアに関連付けて、探索経過記憶部１９に記憶させる。
【０１３６】
次に、探索部１８は、直近のステップＳ１５でペア毎に抽出した４つ組、および、以前に探索部１８によってスコアが算出されていて未だ選択されていない４つ組の中で、最もスコアが高い４つ組を選択する（ステップＳ１７）。ただし、以前に探索部１８によってスコアが算出されていて未だ選択されていない４つ組が存在しない場合、探索部１８は、直近のステップＳ１５でペア毎に抽出した４つ組の中で、最もスコアが高い４つ組を選択すればよい。
【０１３７】
次に、探索部１８は、ステップＳ１７で選択した４つ組に対応するペアの適用対象となる構成要件に、そのペアを適用することによって得られる構成要件を、新たに、着目している構成要件として選択する（ステップＳ１８）。探索部１８は、その構成要件を、次に選択された「着目している構成要件」として、探索経過記憶部１９に記憶させる。
【０１３８】
次に、探索部１８は、ステップＳ１８で選択した構成要件を、より詳細に具体化することができるか否かを判定する（ステップＳ１９）、例えば、探索部１８は、ステップＳ１８で選択した構成要件に適用可能な具体化規則が具体化規則記憶部１６に記憶されていれば、構成要件をより具体化することができると判定し、構成要件に適用可能な具体化規則が具体化規則記憶部１６に記憶されていなければ、構成要件をより具体化することができないと判定してもよい。ただし、この判定方法は例であり、ステップＳ１９における判定方法は、特に限定されない。
【０１３９】
ステップＳ１８で選択した構成要件をより具体化できると判定した場合（ステップＳ１９のＹｅｓ）、探索部１８は、ステップＳ１３以降の動作を繰り返す。
【０１４０】
ステップＳ１８で選択した構成要件をより具体化することはできないと判定した場合（ステップＳ１９のＮｏ）、探索部１８は、ステップＳ１８で選択した構成要件を、木構造における葉ノードに該当する構成要件として決定する（ステップＳ２０）。なお、探索部１８は、その構成要件を、最終的に得られた構成要件として、探索経過記憶部１９に記憶させる。探索部１８は、ステップＳ２０で処理を終了する。
【０１４１】
以上の処理経過において、システム構成導出装置１０は、構成要件の更新を繰り返すことで、構築対象システムの構成要件を具体化していると言うことができる。
【０１４２】
ＩＣＴシステムの設計者は、この葉ノードに該当する構成要件を、ＩＣＴシステムの構築に利用することができる。
【０１４３】
本実施形態によれば、学習部１４が、過去における構成要件の探索履歴から得られた４つ組の集合を学習データとして、与えられた４つ組に対するスコアの演算方法（例えば、演算式）を学習する。そして、４つ組に含まれている「単位構成要件」の粒度は、「構成要件」の粒度よりも細かい。従って、スコア演算方法を学習する際、「単位構成要件」の類似度は求めやすく、精度の高いスコア演算方法を学習することができる。
【０１４４】
また、４つ組には、単位構成要件の近傍情報が含まれている。近傍情報同士が類似しているか否かは、例えば、一方の近傍情報が他方の近傍情報に対してグラフ埋め込み可能か否かによって判定することができる。近傍情報同士が類似しているか否かも判定することができ、精度の高いスコア演算方法を学習することができる。
【０１４５】
また、４つ組には、単位構成要件履歴情報も含まれている。従って、設計の意図を考慮した値としてスコアが得られるスコア演算方法を学習することができる。
【０１４６】
そして、探索部１８は、そのようなスコア演算方法を４つ組に適用して、４つ組のスコアを算出し、そのスコアに基づいて、構成要件の探索を進める。従って、本実施形態によれば、過去における構成要件の探索履歴を利用して、好ましい構成要件を効率的に探索することができる。
【０１４７】
従って、本実施形態によれば、システムを構築する際、システムの構成を効率的に導出することができる。
【０１４８】
次に、上記の実施形態の変形例について説明する。上記の実施形態では、単位構成要件と、その単位構成要件からＮホップ以内の構成要素および構成要素間の関係とを示す情報を、「単位構成要件の近傍情報」とした。
【０１４９】
単位構成要件の近傍情報は、上記の例に限定されない。例えば、単位構成要件の近傍情報は、その単位構成要件からＮホップ以内の構成要素の数を示す情報であってもよい。
【０１５０】
ＮホップにおけるＮの値は、例えば、Ｎ＝１であるが、Ｎ＝１に限定されず、Ｎ＝２、Ｎ＝３等であってもよい。この点は、上記の実施形態と同様である。
【０１５１】
また、近傍情報に対する１つまたは複数の制約条件が予め指定されていてもよい。この場合、情報抽出部１２は、単位構成要件からＮホップ（例えば、１ホップ）以内の構成要素のうち、制約条件を満足する構成要素の数を近傍情報とすればよい。例えば、制約条件として、特定の構成要素の型が指定されているとする。その場合、情報抽出部１２は、単位構成要件からＮホップ（例えば、１ホップ）以内の構成要素のうち、その型に合致する構成要素の数を近傍情報とすればよい。
【０１５２】
図２０は、本発明の実施形態に係るコンピュータの構成例を示す概略ブロック図である。なお、以下の説明は、後述の第２の実施形態にも当てはまる。コンピュータ１０００は、ＣＰＵ１００１と、主記憶装置１００２と、補助記憶装置１００３と、インタフェース１００４と、入力デバイス１００５とを備える。
【０１５３】
本発明の実施形態のシステム構成導出装置１０は、コンピュータ１０００に実装される。システム構成導出装置１０の動作は、システム構成導出プログラムの形式で補助記憶装置１００３に記憶されている。ＣＰＵ１００１は、そのシステム構成導出プログラムを補助記憶装置１００３から読み出して主記憶装置１００２に展開し、そのシステム構成導出プログラムに従って、上記の実施形態で説明した処理を実行する。
【０１５４】
補助記憶装置１００３は、一時的でない有形の媒体の例である。一時的でない有形の媒体の他の例として、インタフェース１００４を介して接続される磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ（Compact Disk Read Only Memory ）、ＤＶＤ−ＲＯＭ（Digital Versatile Disk Read Only Memory ）、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ１０００に配信される場合、配信を受けたコンピュータ１０００がそのプログラムを主記憶装置１００２に展開し、上記の処理を実行してもよい。
【０１５５】
また、各構成要素の一部または全部は、汎用または専用の回路（circuitry ）、プロセッサやこれらの組み合わせによって実現されてもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各構成要素の一部または全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
【０１５６】
各構成要素の一部または全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
【０１５７】
実施形態２．
図２１は、本発明の第２の実施形態に係るシステム構成導出装置の例を示すブロック図である。本実施形態のシステム構成導出装置は、構築対象システムの構成要件として具体的な構成要件を導出することができる。より具体的には、係るシステム構成導出装置は、構築対象システムの構成要件の更新を繰り返すことによって、その構築対象システムの構成要件を具体化する。本発明のシステム構成導出装置は、探索履歴記憶部８１と、情報抽出部８２と、学習部８３と、具体化規則記憶部８４と、入力部８５と、探索部８６とを備える。
【０１５８】
探索履歴記憶部８１（例えば、上述した第１の実施形態における探索履歴記憶部１１に対応する。）は、過去において適切と判定された構成要件の探索履歴を記憶する。
【０１５９】
情報抽出部８２（例えば、上述した第１の実施形態における情報抽出部１２に対応する。）は、探索履歴から、一の構成要件から次の構成要件への遷移毎に、その一の構成要件に適用された具体化規則を含む所定の情報から成る組（例えば、上述した第１の実施形態における４つ組に対応する。）を抽出する。具体化規則は、構成要件の一部をより詳細に記述するように書き換える規則である。
【０１６０】
学習部８３（例えば、上述した第１の実施形態における学習部１４に対応する。）は、情報抽出部８２によって抽出された所定の情報から成る組の集合を学習データとして、所定の情報から成る組に含まれる具体化規則の適切さの度合いを示すスコアの演算方法を学習する。
【０１６１】
具体化規則記憶部８４（例えば、上述した第１の実施形態における具体化規則記憶部１６に対応する。）は、複数の具体化規則を記憶する。
【０１６２】
入力部８５（例えば、上述した第１の実施形態における入力部１７に対応する。）には、新規の構成要件が入力される。
【０１６３】
探索部８６（例えば、上述した第１の実施形態における探索部１８に対応する。）は、着目している構成要件に適用可能な具体化規則を、具体化規則記憶部８４から読み込み、読み込んだ具体化規則と着目している構成要件内における具体化規則の適用箇所とのペア毎に、所定の情報から成る組を抽出し、当該所定の情報から成る組を演算方法に適用することによってスコアを算出し、ペア毎に抽出した所定の情報から成る組、および、以前にスコアが算出されていて未だ選択されていない所定の情報から成る組の中で、最もスコアが高い所定の情報から成る組を選択し、当該所定の情報から成る組に対応するペアの適用対象となる構成要件に、そのペアを適用することによって得られる構成要件を、新たに、着目している構成要件として選択することを繰り返す。
【０１６４】
探索部８６は、入力部８５に新規の構成要件が入力されたときに、当該新規の構成要件を着目している構成要件として選択する。
【０１６５】
また、探索部８６は、以前にスコアが算出されていて未だ選択されていない所定の情報から成る組が存在しない場合には、ペア毎に抽出した所定の情報から成る組の中で、最もスコアが高い所定の情報から成る組を選択する。
【０１６６】
本発明により、システムを構築する際、システムの構成を効率的に導出することができる。
【０１６７】
また、情報抽出部８２が、
一の構成要件から次の構成要件への遷移毎に、
具体化規則と、
その具体化規則が適用される構成要件内でその具体化規則によって書き換えられる部分である単位構成要件と、
単位構成要件の近傍に関する情報である近傍情報と、
単位構成要件の生成に関連して用いられた具体化規則と、当該具体化規則がどの構成要件のどの箇所に適用されたかを示す情報とを含む単位構成要件履歴情報とを
含む４つ組を抽出し、
学習部８３が、
４つ組の集合を学習データとして、演算方法を学習し、
探索部８６が、
着目している構成要件に適用可能な具体化規則を、具体化規則記憶部８４から読み込み、ペア毎に、４つ組を抽出する
構成であってもよい。
【０１６８】
また、近傍情報は、単位構成要件と、当該単位構成要件からＮホップ以内の構成要素および構成要素間の関係とを示す情報であってもよい。
【０１６９】
また、近傍情報は、単位構成要件と、当該単位構成要件からＮホップ以内の構成要素および構成要素間の関係であって指定された条件を満たす構成要素および構成要素間の関係とを示す情報であってもよい。
【０１７０】
また、近傍情報に含まれる構成要素および構成要素間の関係には型の名称が記述されてもよい。
【０１７１】
また、近傍情報は、単位構成要件からＮホップ以内の構成要素の数を示す情報であってもよい。
【０１７２】
また、近傍情報は、単位構成要件からＮホップ以内の構成要素であって指定された条件を満たす構成要素の数を示す情報であってもよい。
【０１７３】
また、Ｎ＝１であってもよい。
【０１７４】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１７５】
この出願は、２０１８年６月２２日に出願された日本特許出願２０１８−１１８９３０を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０１７６】
１０  システム構成導出装置
１１  探索履歴記憶部
１２  情報抽出部
１３  学習データ記憶部
１４  学習部
１５  学習結果記憶部
１６  具体化規則記憶部
１７  入力部
１８  探索部
１９  探索経過記憶部
【図１】
0006989014.tif 000002
【図２】
0006989014.tif 000003
【図３】
0006989014.tif 000004
【図４】
0006989014.tif 000005
【図５】
0006989014.tif 000006
【図６】
0006989014.tif 000007
【図７】
0006989014.tif 000008
【図８】
0006989014.tif 000009
【図９】
0006989014.tif 000010
【図１０】
0006989014.tif 000011
【図１１】
0006989014.tif 000012
【図１２】
0006989014.tif 000013
【図１３】
0006989014.tif 000014
【図１４】
0006989014.tif 000015
【図１５】
0006989014.tif 000016
【図１６】
0006989014.tif 000017
【図１７】
0006989014.tif 000018
【図１８】
0006989014.tif 000019
【図１９】
0006989014.tif 000020
【図２０】
0006989014.tif 000021
【図２１】
0006989014.tif 000022