(57)【要約】  システム構成導出装置９０は、未確定な部分が含まれているシステムの構成を示す情報である抽象構成情報の未確定な部分を確定することによって抽象構成情報を具体化する方法が規定された具体化規則を記憶する記憶部９１と、システムの構成要件に含まれている抽象構成情報を記憶されている具体化規則を用いて具体化することによって構成要件を基に未確定な部分が含まれていないシステムの構成を示す情報であるシステム構成情報を生成する生成部９２とを備える。
2019216082.tif 000002
【特許請求の範囲】
【請求項１】
未確定な部分が含まれているシステムの構成を示す情報である抽象構成情報の前記未確定な部分を確定することによって前記抽象構成情報を具体化する方法が規定された具体化規則を記憶する記憶部と、
システムの構成要件に含まれている抽象構成情報を記憶されている具体化規則を用いて具体化することによって前記構成要件を基に前記未確定な部分が含まれていないシステムの構成を示す情報であるシステム構成情報を生成する生成部とを備える
ことを特徴とするシステム構成導出装置。
【請求項２】
具体化規則には、具体化する複数の方法が規定され、
前記生成部は、抽象構成情報に前記複数の方法をそれぞれ適用することによって複数のシステム構成情報を生成する
請求項１記載のシステム構成導出装置。
【請求項３】
抽象構成情報は、抽象度が異なる複数の未確定な部分を含み、
前記生成部は、構成要件に含まれている抽象構成情報を具体化する操作を前記複数の未確定な部分が全て具体化された時点で停止する
請求項１または請求項２記載のシステム構成導出装置。
【請求項４】
抽象構成情報は、システムに課せられた制約条件または前記システムに求められる性質に関する要件を含み、
前記生成部は、前記制約条件または前記要件を満たすシステム構成情報を優先的に生成する
請求項１から請求項３のうちのいずれか１項に記載のシステム構成導出装置。
【請求項５】
具体化規則は、未確定な部分が具体化された後の構成に関する情報を含み、
前記生成部は、前記未確定な部分が具体化された後の構成に前記情報を付加する
請求項１から請求項４のうちのいずれか１項に記載のシステム構成導出装置。
【請求項６】
具体化規則には、抽象構成情報の未確定な部分の一部のみを確定することによって前記抽象構成情報を具体化する方法が規定された規則が含まれている
請求項１から請求項５のうちのいずれか１項に記載のシステム構成導出装置。
【請求項７】
前記生成部は、システムの構成要件を根とするツリーを用いてシステム構成情報を生成する
請求項１から請求項６のうちのいずれか１項に記載のシステム構成導出装置。
【請求項８】
前記生成部は、ツリーで表現されている抽象構成情報の具体化過程を遡ることによってまだ適用されていない方法から具体化する方法を選択する
請求項７記載のシステム構成導出装置。
【請求項９】
前記生成部は、構成要件の具体化過程に関する情報として具体化された未確定な部分と適用された具体化する方法とを出力する
請求項１から請求項８のうちのいずれか１項に記載のシステム構成導出装置。
【請求項１０】
抽象構成情報の具体化に関する方針を判断する判断部を備え、
前記判断部は、
前記具体化に関する方針の判断において前記抽象構成情報の具体化される部分を決定し、
決定された部分の具体化に用いられる具体化規則を選択し、
前記生成部は、決定された部分を選択された具体化規則を用いて具体化する
請求項１から請求項９のうちのいずれか１項に記載のシステム構成導出装置。
【請求項１１】
前記判断部は、所定の判断ルール、または過去の判断の履歴を基に具体化に関する方針を判断する
請求項１０記載のシステム構成導出装置。
【請求項１２】
前記判断部は、外部からの入力を基に具体化に関する方針を判断する
請求項１０または請求項１１記載のシステム構成導出装置。
【請求項１３】
分割された複数の抽象構成情報を合成する合成部を備え、
前記生成部は、合成された複数の抽象構成情報を具体化する
請求項１から請求項１２のうちのいずれか１項に記載のシステム構成導出装置。
【請求項１４】
システム構成情報の形式を変換する変換部を備え、
前記変換部は、
生成されたシステム構成情報の形式をシステムの配備装置が受け付け可能な形式に変換し、
変換されたシステム構成情報を前記配備装置に送信する
請求項１から請求項１３のうちのいずれか１項に記載のシステム構成導出装置。
【請求項１５】
システムの構成が構成要件を満たすか否かを確認する確認部を備え、
前記確認部は、
前記配備装置により配備された現在のシステムの構成が前記構成要件を満たすか否かを確認し、
前記構成要件を満たさないシステムの更新要求を前記生成部に入力し、
前記生成部は、
入力された更新要求を基に前記構成要件を満たすシステム構成情報を生成する
請求項１４記載のシステム構成導出装置。
【請求項１６】
未確定な部分が含まれているシステムの構成を示す情報である抽象構成情報の前記未確定な部分を確定することによって前記抽象構成情報を具体化する方法が規定された具体化規則を記憶部に記憶させ、
システムの構成要件に含まれている抽象構成情報を記憶されている具体化規則を用いて具体化することによって前記構成要件を基に前記未確定な部分が含まれていないシステムの構成を示す情報であるシステム構成情報を生成する
ことを特徴とするシステム構成導出方法。
【請求項１７】
コンピュータで実行されるときに、
未確定な部分が含まれているシステムの構成を示す情報である抽象構成情報の前記未確定な部分を確定することによって前記抽象構成情報を具体化する方法が規定された具体化規則を記憶部に記憶させ、
システムの構成要件に含まれている抽象構成情報を記憶されている具体化規則を用いて具体化することによって前記構成要件を基に前記未確定な部分が含まれていないシステムの構成を示す情報であるシステム構成情報を生成する
システム構成導出プログラム
を記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システム構成導出装置およびシステム構成導出方法に関する。
【背景技術】
【０００２】
ICT(Information and Communication Technology) システムを構築したり更新したりするために事前に実行が求められる準備作業には、構成設計作業と手順計画作業とが含まれる。【０００３】
構成設計作業は、構築目的のシステム構成や更新完了後のシステム構成を設計する作業である。また、手順計画作業は、設計された目的のシステム構成を実現するための構築作業の内容や更新作業の内容を計画する作業である。【０００４】
ICT システムの構成が設計される際、既存の開発資産が再利用されると、設計作業の効率が向上する。非特許文献１〜非特許文献３、および特許文献１〜特許文献２には、既存の開発資産を再利用してICT システムの構成を設計する技術が記載されている。【０００５】
非特許文献１には、構成部品のテンプレートを開発資産として用いて、構成部品の組み合わせ方を変更したり構成部品ごとに定義されたパラメタの値を変更したりすることによって、構築目的のシステムに応じた設計を行う技術が記載されている。【０００６】
また、非特許文献２には、通信ネットワークのトポロジ情報と通信要件に関する情報を基に、トポロジにおいて通信要件を満たすために求められる各ネットワーク機器の経路情報等の設定を自動で設計する技術が記載されている。【０００７】
また、非特許文献３には、グラフとして表現されたベースの構成に対して実行可能な変更をグラフ書き換え規則として定義し、選択された規則に従ってベースの構成を書き換えることによって、構築目的のシステムに応じた設計を行う技術が記載されている。【０００８】
また、特許文献１には、ベースの構成に対する書き換え規則のうち適用可能な規則を適用する操作が予め定められた規則が示す適用手順に従って機械的に書き換えを繰り返すことによって、自動で設計を行う設計エキスパートシステム構築方式が記載されている。特許文献１に記載されている設計エキスパートシステム構築方式は、具体的な領域の範囲での探索、すなわち平坦な探索を行う方式である。【０００９】
また、特許文献２には、未確定な部分を含むベースの構成に対して、適用可能な書き換え規則を選択して適用する試行を繰り返す設計データ自動生成装置が記載されている。【００１０】
特許文献２に記載されている設計データ自動生成装置は、適用可能な書き換え規則が無い場合、既に適用された書き換え規則をキャンセルし、他の書き換え規則の適用を試行する。特許文献２に記載されている設計データ自動生成装置は、未確定な部分が全て確定された構成を設計結果として出力する。【００１１】
また、特許文献３には、コンポネントの組み合わせに応じた設定を追加しなくてもよい等、システム定義の容易性を向上させることを目的とするシステム構築支援システムが記載されている。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開平２−５８１３１号公報
【特許文献２】特開２０１１−１３７５０号公報
【特許文献３】国際公開第２０１７／０３３４４１号
【非特許文献】
【００１３】
【非特許文献１】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 CriticalPair Analysis", Model Driven Engineering Languages and Systems, pp. 151-165, 2007.
【発明の概要】
【発明が解決しようとする課題】
【００１４】
ICT システムでは、一部の構成や要件が多くの部分に関与する可能性がある。例えば、管理用ネットワークやログ収集機能は、多数の他のサブシステムや機能と結合して動作する。また、例えば省資源制約や冗長性要件の追加や変更は、システム構成全体に影響を及ぼす可能性がある。【００１５】
上記のように、ICT システムの構築および変更では、既存の作業では指定されていなかった新たな要件が追加で指定されることが多い。新たな要件が追加で指定されても、構成設計作業や手順計画作業を実行可能な技術が求められている。【００１６】
非特許文献１に記載されているテンプレートが用いられる設計技術において作業者には、開発資産である構成部品や構成部品の組み合わせ方、および調整可能なパラメタの値を決定することが求められる。すなわち、設計対象のシステムの規模が拡大したり、考慮が求められる要件が増えたりすると、作業者は、非特許文献１に記載されている技術を用いて効率的にシステム構成を設計することが困難になる。【００１７】
また、非特許文献２に記載されている用途が限定された自動設計技術は、入力されたトポロジが再設計される可能性を検討せずに、入力されたトポロジで実現可能な通信ネットワークにおいて通信要件を満たす通信経路の設定のみを設計する。【００１８】
すなわち、非特許文献２に記載されている自動設計技術は、経路設計という特定の要件に用途が限定された技術である。用途が限定されているため、非特許文献２に記載されている自動設計技術は、例えば、冗長性を考慮してトポロジと経路設定を総合的に設計するような新しい要件が指定されると、設計要求に応えることが困難になる。【００１９】
また、非特許文献３に記載されている固定的な要素のみを拡張する自動設計技術は、書き換え規則の適用対象を、既に確定した具体的な構成を表す部分グラフに限定している。すなわち、非特許文献３に記載されている自動設計技術は、既に存在する具体的な構成の一部を拡大するような設計要求にしか応えることができない。【００２０】
また、特許文献１に記載されている設計エキスパートシステム構築方式は、任意の書き換え規則を適用することによって構成を機械的に書き換えることができる。しかし書き換えにあたり、作業者には、予め適用対象の書き換え規則を指定することが求められる。【００２１】
作業者が適用対象の書き換え規則の限定を緩和することによって、書き換え規則を機械的に選択し、試行を繰り返して多様な設計パターンを生成するように特許文献１に記載されている設計エキスパートシステム構築方式を構成することも可能である。構成が変更された特許文献１に記載されている設計エキスパートシステム構築方式は、生成された設計パターンから適切な設計結果を抽出する。【００２２】
しかし、上記のように構成が変更されると、膨大な設計パターンが生成されるため過大な計算量が求められるという問題や、複数の要件に対応するための書き換え規則の量が膨大になり記述が困難になるという問題等が生じる恐れがある。【００２３】
特許文献２に記載されている設計データ自動生成装置は、探索空間を限定すると共に書き換え規則の記述を簡潔にするために、設計対象の構成を木構造のグラフ等の段階的に詳細化可能な構成に限定して設計を行う。【００２４】
すなわち、特許文献２に記載されている設計データ自動生成装置において、過大な計算量が求められる問題や、書き換え規則の量が膨大になる問題は発生しない。しかし、設計可能な構成が木構造等の段階的に詳細化可能な構造に限定されているため、特許文献２に記載されている設計データ自動生成装置が一般的なICT システムを設計することは困難である。【００２５】
また、特許文献３に記載されているシステム構築支援システムは、具体化に要する情報が全て含まれている構成情報を入力とする。しかし、特許文献３に記載されているシステム構築支援システムは、具体化に要する情報が一部含まれていない構成情報を処理できない。【００２６】
［発明の目的］
そこで、本発明は、上述した課題を解決する、抽象的な構成要件を基にICT システムの構成を設計できるシステム構成導出装置およびシステム構成導出方法を提供することを１つの目的とする。
【課題を解決するための手段】
【００２７】
本発明の一実施形態において、システム構成導出装置は、未確定な部分が含まれているシステムの構成を示す情報である抽象構成情報の未確定な部分を確定することによって抽象構成情報を具体化する方法が規定された具体化規則を記憶する記憶部と、システムの構成要件に含まれている抽象構成情報を記憶されている具体化規則を用いて具体化することによって構成要件を基に未確定な部分が含まれていないシステムの構成を示す情報であるシステム構成情報を生成する生成部とを備えることを特徴とする。【００２８】
本発明の一実施形態において、システム構成導出方法は、未確定な部分が含まれているシステムの構成を示す情報である抽象構成情報の未確定な部分を確定することによって抽象構成情報を具体化する方法が規定された具体化規則を記憶部に記憶させ、システムの構成要件に含まれている抽象構成情報を記憶されている具体化規則を用いて具体化することによって構成要件を基に未確定な部分が含まれていないシステムの構成を示す情報であるシステム構成情報を生成することを特徴とする。【００２９】
本発明の一実施形態において、システム構成導出プログラムを記録したコンピュータ読み取り可能な記録媒体は、コンピュータで実行されるときに、未確定な部分が含まれているシステムの構成を示す情報である抽象構成情報の未確定な部分を確定することによって抽象構成情報を具体化する方法が規定された具体化規則を記憶部に記憶させ、システムの構成要件に含まれている抽象構成情報を記憶されている具体化規則を用いて具体化することによって構成要件を基に未確定な部分が含まれていないシステムの構成を示す情報であるシステム構成情報を生成するシステム構成導出プログラムを記憶する。
【発明の効果】
【００３０】
本発明によれば、抽象的な構成要件を基にICT システムの構成を設計できる。
【図面の簡単な説明】
【００３１】
【図１】本発明によるシステム構成導出装置の第１の実施形態の構成例を示すブロック図である。
【図２】具体化された後の抽象構成に制約条件を付与することが指定された具体化規則の例を示す説明図である。
【図３】構成要件の例を示す説明図である。
【図４】構成要件の他の例を示す説明図である。
【図５】抽象構成の例を示す説明図である。
【図６】「TCP(Transmission Control Protocol)アクセス」要件を具体化するための具体化規則の例を示す説明図である。
【図７】「TCP アクセス」要件を具体化するための具体化規則の他の例を示す説明図である。
【図８】「TCP アクセス」要件を具体化するための具体化規則の他の例を示す説明図である。
【図９】導通ドメインを要請する対象から導通ドメインに向かう「導通」要件を指定するための具体化規則の例を示す説明図である。
【図１０】構成情報具体化部１１０による抽象構成の具体化の過程を表す探索木の例を示す説明図である。
【図１１】図１０に示す探索木の一部を示す説明図である。
【図１２】図１０に示す探索木の他の一部を示す説明図である。
【図１３】第１の実施形態のシステム構成導出装置１００によるシステム構成導出処理の動作を示すフローチャートである。
【図１４】第２の実施形態のシステム構成導出装置１０１の構成例を示すブロック図である。
【図１５】具体化方針判断部１３０による具体化方針の生成例を示す説明図である。
【図１６】具体化規則記録部１２０に記録されている具体化規則の例を示す説明図である。
【図１７】第２の実施形態のシステム構成導出装置１０１の他の構成例を示すブロック図である。
【図１８】第２の実施形態のシステム構成導出装置１０１によるシステム構成導出処理の動作を示すフローチャートである。
【図１９】第３の実施形態のシステム構成導出装置１０２の構成例を示すブロック図である。
【図２０】要件合成部１４０に入力される断片的な構成要件の例を示す説明図である。
【図２１】要件合成部１４０に入力される断片的な構成要件の他の例を示す説明図である。
【図２２】要件合成部１４０に入力される断片的な構成要件の他の例を示す説明図である。
【図２３】要件合成部１４０が出力する単一の構成要件の例を示す説明図である。
【図２４】第３の実施形態のシステム構成導出装置１０２によるシステム構成導出処理の動作を示すフローチャートである。
【図２５】第４の実施形態のシステム構成導出装置１０３の構成例を示すブロック図である。
【図２６】第４の実施形態のシステム構成導出装置１０３によるシステム構成導出処理の動作を示すフローチャートである。
【図２７】第５の実施形態のシステム構成導出装置１０４の構成例を示すブロック図である。
【図２８】第５の実施形態のシステム構成導出装置１０４によるシステム構成導出処理の動作を示すフローチャートである。
【図２９】第５の実施形態のシステム構成導出装置１０４によるシステム構成導出処理の他の動作を示すフローチャートである。
【図３０】各実施形態における入出力装置が備えるGUI の例を示す説明図である。
【図３１】本発明の各実施形態を適用可能なシステム構成導出装置のハードウェア構成例を示す説明図である。
【図３２】本発明によるシステム構成導出装置の概要を示すブロック図である。
【発明を実施するための形態】
【００３２】
（第１の実施形態）
［構成の説明］
以下、本発明の実施形態を、図面を参照して説明する。図１は、本発明によるシステム構成導出装置の第１の実施形態の構成例を示すブロック図である。
【００３３】
本実施形態のシステム構成導出装置１００は、コンピュータの計算処理において過去の開発資産を効果的に再利用することによって、ICT システムの構成を効率的に設計できることを特徴とする。
【００３４】
また、本実施形態のシステム構成導出装置１００は、未確定な部分を含むベースの構成に適用可能な書き換え規則を選択し、選択された規則を適用する試行を繰り返すことによって、全ての未確定な部分が確定された構成を設計結果として出力することを特徴とする。
【００３５】
また、本実施形態のシステム構成導出装置１００は、導出可能な構成に対して制約を設けずに、求められる複数の要件に対応したICT システムの構成を導出できることを特徴とする。
【００３６】
図１に示すように、本実施形態のシステム構成導出装置１００は、構成情報具体化部１１０と、具体化規則記録部１２０とを備える。構成情報具体化部１１０は、通信ネットワーク等を介して具体化規則記録部１２０と通信可能に接続されている。
【００３７】
また、構成情報具体化部１１０は、システム構成導出装置１００の外部の入出力装置（図示せず）とも通信ネットワーク等を介して通信可能に接続されている。構成情報具体化部１１０は、入出力装置を介して、抽象構成として記載された構成要件の利用者からの入力を受け付ける。
【００３８】
構成情報具体化部１１０は、入力された抽象構成を具体的なシステム構成情報に変換する機能を有する。次いで、構成情報具体化部１１０は、変換されたシステム構成情報を、入出力装置を介して利用者に向けて出力する。
【００３９】
具体化規則記録部１２０は、抽象構成の具体化において行われる構成情報の書き換えに関する規則である具体化規則を読み出し可能に記録する機能を有する。構成情報具体化部１１０は、具体化規則を具体化規則記録部１２０から取得する。
【００４０】
次いで、構成情報具体化部１１０は、取得された具体化規則を、入力された構成要件（抽象構成）を具体的なシステム構成情報に変換する処理で用いる。なお、構成情報具体化部１１０は、具体化規則記録部１２０に具体化規則を記録してもよい。
【００４１】
構成要件は、少なくとも１つの抽象的な構成部品や抽象的な構成部品間の関係を含む。また、各構成部品や構成部品間の関係は、連結する周囲の構成に関する任意個の要件または制約条件を含む。
【００４２】
また、具体化規則には、抽象構成を示す情報である抽象構成情報をより具体的な抽象構成情報に変換する方法が規定される。また、抽象構成情報は、抽象的な複数の構成部品や構成部品間の関係、または具体的な複数の構成部品や構成部品間の関係を表現する。
【００４３】
なお、具体化規則には、必ずしも全ての構成要素を完全に具体化する方法が規定されなくてもよい。例えば、具体化規則に従って具体化された後の抽象構成に、まだ抽象的な構成要素が含まれていてもよい。
【００４４】
以下、本実施形態の抽象構成、および抽象構成のデータ形式を説明する。抽象構成は、任意の主体が所望するシステム等の構成に関する意図が表現されている情報である。
【００４５】
本実施形態の抽象構成は、ノードとエッジとで構成されるグラフで表現される。ノードは、任意の構成部品に関する意図を表す。また、エッジは、構成部品間の関係性に関する意図を表す。
【００４６】
また、各ノードには、ノードの型および属性情報が付与される。また、各エッジには、エッジの型および属性情報が付与される。型および属性情報が付与されると、ノードやエッジに込められた意図がより具体的に表現される。
【００４７】
本実施形態の抽象構成は、型として定義される情報の１つとして、接続可能な関係性の種類に関する情報を含む。例えば、アプリケーションサーバ・ミドルウェア型の構成部品には、接続可能な関係性の種類として、アプリケーションサーバ・ミドルウェアが稼働するために求められるコンピュータ・リソースと接続する際の関係性であるHostedOn型が指定される。
【００４８】
接続可能な関係性の種類としてHostedOn型が指定されると、アプリケーションサーバ・ミドルウェア型のノードは、HostedOn型のエッジを介してコンピュータ・リソースと接続できる。また、アプリケーションサーバ・ミドルウェア型のノードは、型として指定されていない関係性を示す構成部品とは接続できないとみなされる。
【００４９】
次に、任意のノードや任意のエッジが具体的であるための条件を説明する。任意のノードや任意のエッジが具体的であることの第１の条件は、ノードの型やエッジの型に具体的であることを示す情報が付与されていることである。
【００５０】
例えば、アプリケーションサーバ・ミドルウェア型のノードは、特定の機能を有するソフトウェアのカテゴリを表すため、抽象的な構成部品である。よって、アプリケーションサーバ・ミドルウェア型には、具体的であることを示す情報が指定されない。
【００５１】
また、Apache Tomcat （登録商標）のversion 7.0 等、構成部品が特定の型番の製品を示す場合、構成部品の型には、具体的であることを示す情報が指定される。
【００５２】
また、例えば、２つの仮想マシンを接続する関係性の型として仮想マシン同士が通信ネットワークを介して通信可能であることを示すConnected 型があるが、Connected 型には具体的であることを示す情報が指定されない。
【００５３】
その理由は、２つの仮想マシンが通信ネットワークを介して通信可能であるためには、各仮想マシンそれぞれが備えるNIC(Network Interface Card) を介して通信ネットワークに所属していることが求められる。さらに、各仮想マシンが所属している通信ネットワークが同一の通信ネットワークであるか、またはルータ等を介して通信可能に接続されている異なる通信ネットワークであることが求められる。
【００５４】
すなわち、Connected 型は、複数の構成部品が適切に構成されることを意図する抽象的な関係性であるため、具体的であることを示す情報が指定されない。しかし、上述したHostedOn型は、任意の２つの構成部品間の関係性を直接表しており、他の関係性に解釈されないため、具体的であることを示す情報が指定される。
【００５５】
任意のノードや任意のエッジが具体的であることの第２の条件は、接続が求められる他の構成要素が指定されていないか、指定されていても接続が求められる他の構成要素が正しく接続されていることである。
【００５６】
例えば、アプリケーションサーバ・ミドルウェアが存在するためには、アプリケーションサーバ・ミドルウェアが任意のコンピュータ・リソースにホストされることが求められる。よって、アプリケーションサーバ・ミドルウェア型には、HostedOn型のノードと接続可能であることを示す情報だけでなく、HostedOn型のノードとの接続が求められることを示す情報もさらに指定される。
【００５７】
本実施形態のシステム構成導出装置１００は、上記のような構成部品の型や関係性の型に記載された情報に基づいて、各要素が具体的であり、かつ求められる接続が行われているとき、各要素を含むシステム構成が具体的であるとみなす。また、抽象構成に含まれる全ての要素が具体的であるとき、システム構成導出装置１００は、抽象構成が具体的なシステム構成情報であるとみなす。
【００５８】
次に、本実施形態における具体化規則の記述方法を説明する。本実施形態における具体化規則の定義は、具体化の対象の部分の構成を表す情報と、対象の部分が具体化された後の構成を表す情報とで構成される。
【００５９】
よって、構成情報具体化部１１０は、抽象構成に含まれている、具体化の対象の部分の構成を表す情報で表現されている特定の部分構成を、対象の部分が具体化された後の構成を表す情報で表現される構成に書き換えることによって、部分構成を具体化する。具体化された後の部分構成の構成要素は、具体化される前の部分構成の構成要素よりも多い場合が多い。
【００６０】
具体化規則における具体化の対象の部分の構成の型は、単一の構成要素の型、または関係性の型である。なお、具体化の対象の部分の構成の型は、他のパターンの型でもよい。また、具体化の対象の部分の構成を表す情報が同一である具体化規則が複数存在してもよい。以上の構成により、本実施形態のシステム構成導出装置１００は、多様な複数の具体化結果を生成できる。
【００６１】
例えば、具体化規則の一部として、具体化された後の抽象構成に対して制約条件等を示す詳細情報を付与することが指定されてもよい。以下、具体化された後の抽象構成に制約条件が付与される例を説明する。
【００６２】
図２は、具体化された後の抽象構成に制約条件を付与することが指定された具体化規則の例を示す説明図である。図２に示す具体化規則は、NIC をルータに接続し、ルータがNIC とパケットを送受信できるようにすることによって、NIC を使用しているサーバとルータとの間の「接続」要件を具体化する規則である。図２に示す左の構成は、具体化される前の抽象構成である。また、図２に示す右の構成は、具体化された後の抽象構成である。
【００６３】
ルータがNIC とパケットを送受信するためには、図２に示すNIC に指定されているIP(Internet Protocol) アドレスが、ルータに指定されているOSPF(Open Shortest Path First)エリアに整合した値であることが求められる。
【００６４】
すなわち、具体化された後の抽象構成には、上記内容を表す制約「(NICのIPアドレス) ∈( ルータのOSPFエリア) 」の付与が求められる。以上の理由により、図２に示す具体化規則では、「制約を具体化された後の抽象構成に付与すること」が指定されている。
【００６５】
次に、図３〜図５を参照して構成要件（抽象構成）の例を説明する。図３は、構成要件の例を示す説明図である。図３は、２つの構成要素の間の関係性に関する要件を示す。
【００６６】
図３に示す構成要件は、構成要素１０と、構成要素１１と、矢印１２とで構成されている。矢印１２は、構成要素１１から構成要素１０に向けて指定され、ラベル「TCP アクセス」が付された矢印である。
【００６７】
図３に示す構成要素１０および構成要素１１は、それぞれシステムの構成要素である。また、図３に示す矢印１２は、構成要素１１から構成要素１０に向けての「TCP アクセス」要件を示す。
【００６８】
図３に示す矢印１２が示す要件は、「構成要素１１が適切なTCP パケットを適切なポートから送出したとき、送出されたTCP パケットは、構成要素１０に適切に届けられることが求められる」ことを意味する。
【００６９】
図４は、構成要件の他の例を示す説明図である。図４は、１つの構成要素が、自身を正常に動作させるために要する部品を要請する要件を示す。
【００７０】
図４に示す構成要件は、１つの構成要素２０と、構成要素２０に付随する「Web コンテナ」と記されたラベル２１と、「SQL(Structured Query Language)サーバ」と記されたラベル２２とで構成される。
【００７１】
構成要素に直接付されたラベルは、ラベルに記された構成要素とラベルが付された構成要素とが適切な関係性で接続されていることが求められることを示す。例えば、図４に示す構成要素２０は、Java（登録商標）アプレットを表す。すなわち、図４に示す構成要件は、構成要素２０が正常に動作するためにWeb コンテナおよびSQL サーバが部品として求められることを示す。
【００７２】
図５は、抽象構成の例を示す説明図である。図５に示す抽象構成は、導通ドメイン３０、導通ドメイン３１、サーバ３２、サーバ３３、サーバ３４、およびサーバ３５の、合計で６つの構成要素を含む。
【００７３】
図５に示す導通ドメインは、物理的な実体ではなく「パケットを転送できる通信可能に接続された通信機器群の総体」を表す概念である。導通ドメインという要素自体は、部品として具体化されない。
【００７４】
しかし、導通ドメインが使用されると、「同じ導通ドメインに属する（通信可能な）２つの構成部品にのみ適用させる」や、「２つの部品をそれぞれ異なる導通ドメインに所属させる」等の具体化方法が具体化規則に記述可能になる。すなわち、システムに対する通信可能な範囲に関する要件が記述可能になる。
【００７５】
また、図５に示すように、サーバ３２およびサーバ３３から導通ドメイン３０に向けて「導通」要件がそれぞれ指定されている。また、サーバ３４から導通ドメイン３１に向けて「導通」要件が指定されている。
【００７６】
また、図５に示すように、サーバ３２およびサーバ３４からサーバ３３に向けて、図３に示す「TCP アクセス」要件がそれぞれ指定されている。さらに、導通ドメイン３０から導通ドメイン３１に向けて「アクセス不許可」要件が指定されている。図５に示す要件のうち、「TCP アクセス」要件は、抽象的な要件である。また、図５に示す「TCP アクセス」要件以外の要件は、具体的な要件である。
【００７７】
以下、図６〜図９に具体化規則の例を示す。図６〜図８は、「TCP アクセス」要件を具体化するための３種類の具体化規則を示す。また、図９は、導通ドメインを要請する対象から導通ドメインに向かう「導通」要件を指定するための具体化規則を示す。
【００７８】
図６は、「TCP アクセス」要件を具体化するための具体化規則の例を示す説明図である。図６に示す具体化規則は、「TCP アクセス」要件が指定された２つの構成要素がそれぞれ導通する導通ドメイン間の要件により、「TCP アクセス」要件が示す向きと逆向きのTCP アクセスが導通ドメイン間で禁止されている状況に対する具体化方法を示す。
【００７９】
図６に示す具体化規則に従うと、各導通ドメインに導通する２つの構成要素は、ファイアウォールにそれぞれ接続される。また、順方向のアクセス（図６に示す「B →A 」）を許可し、逆方向のアクセス（図６に示す「A →B 」）を禁止するフォワーディングルールが、ファイアウォールに導入される。
【００８０】
図７は、「TCP アクセス」要件を具体化するための具体化規則の他の例を示す説明図である。図７に示す具体化規則は、「TCP アクセス」要件が指定された２つの構成要素が同じ導通ドメインに導通している状況に対する具体化方法を示す。
【００８１】
図７に示す具体化規則に従うと、導通ドメインに導通する２つの構成要素は、ルータにそれぞれ接続される。また、順方向のアクセス（図７に示す「B →A 」）を導通させるルーティングテーブルが、ルータに導入される。
【００８２】
図８は、「TCP アクセス」要件を具体化するための具体化規則の他の例を示す説明図である。図８に示す具体化規則も、「TCP アクセス」要件が指定された２つの構成要素が同じ導通ドメインに導通している状況に対する具体化方法を示す。
【００８３】
図８に示す具体化規則に従うと、導通ドメインに導通する２つの構成要素は、ファイアウォールにそれぞれ接続される。また、順方向のアクセス（図８に示す「B →A 」）を許可するフォワーディングルールが、ファイアウォールに導入される。
【００８４】
図９は、導通ドメインを要請する対象から導通ドメインに向かう「導通」要件を指定するための具体化規則の例を示す説明図である。図９に示す具体化規則は、導通ドメインを部品として要請する構成要素に、既存の導通ドメインを接続するための具体化規則である。
【００８５】
図９に示す具体化規則に従うと、ラベルが付されていた構成要素から導通ドメインに向けて「導通」要件が指定され、構成要素に付されていた導通ドメインを要請するラベルが削除される。
【００８６】
図６〜図８に示す具体化規則を参照すると、「TCP アクセス」要件の具体化の際、両端の構成要素からの「導通」要件が指定する導通ドメインの構成に応じて具体化に用いられる具体化規則が異なることが分かる。
【００８７】
例えば、図５に示す「TCP アクセス」要件３６の両端のサーバ３２およびサーバ３３からの各「導通」要件が指定する導通ドメインは、共に導通ドメイン３０である。よって、「TCP アクセス」要件３６は、図７に示す具体化規則または図８に示す具体化規則に従って具体化される。
【００８８】
また、図５に示す「TCP アクセス」要件３７の両端のサーバ３３およびサーバ３４からの各「導通」要件が指定する導通ドメインは、それぞれ導通ドメイン３０、導通ドメイン３１である。また、図５に示すように、導通ドメイン３０から導通ドメイン３１に向けて「アクセス不許可」要件が指定されている。よって、「TCP アクセス」要件３７は、図６に示す具体化規則に従って具体化される。
【００８９】
また、図５に示すように、サーバ３５から導通ドメインに向けて「導通」要件は、指定されていない。よって、図９に示す具体化規則に従って任意の導通ドメインに向けてサーバ３５から「導通」要件が指定されなければ、図５に示す「TCP アクセス」要件３８に具体化規則が適用されない。
【００９０】
構成情報具体化部１１０は、入力された抽象構成をシステム構成情報の初期ドラフトとし、図６〜図９に示すような具体化規則を用いて初期ドラフトを段階的に具体化する。構成情報具体化部１１０による抽象構成の具体化の過程は、例えば探索木で表現される。
【００９１】
図１０は、構成情報具体化部１１０による抽象構成の具体化の過程を表す探索木の例を示す説明図である。図１０に示す角丸四角形は、システム構成情報のドラフトを表す。本実施形態のドラフトは、抽象的な要素を含む構成情報である。以下、抽象的な要素を、抽象構成要素とも呼ぶ。
【００９２】
構成情報具体化部１１０は、ドラフトを具体化規則に従って書き換えることによって、書き換え元のドラフトから派生する複数のドラフトを生成する操作を繰り返し実行する。操作により生成されたドラフトは、探索木において書き換え元のドラフトの子要素として記録される。
【００９３】
記法の簡略化のため、図１０においてドラフトに含まれている要素は、省略されている。図１１〜図１２に、ドラフトに含まれている要素が省略されていない探索木を示す。図１１は、図１０に示す探索木の一部を示す説明図である。図１１は、図１０に示す探索木の左部を示す。
【００９４】
また、図１２は、図１０に示す探索木の他の一部を示す説明図である。図１２は、図１０に示す探索木の中央部と右部を示す。
【００９５】
記法の簡略化のため、図１１〜図１２に示すドラフトにおいて「TCP アクセス」要件が矢印で、「導通」要件が点線の矢印で、「アクセス不許可」要件が二重線の矢印で、導通ドメインに対する要請が白色のラベルでそれぞれ表されている。
【００９６】
図１１〜図１２に示す探索木における各分岐で、構成情報具体化部１１０は、それぞれの分岐元のドラフトに含まれる全ての抽象構成要素および抽象要件に、適用可能な具体化規則を全て適用している。
【００９７】
例えば図１２に示すドラフト４５には、２つの「TCP アクセス」要件が含まれている。「TCP アクセス」要件４５−１が図７に示す具体化規則で具体化されると、ドラフト４６が生成される。また、「TCP アクセス」要件４５−１が図８に示す具体化規則で具体化されると、ドラフト４７が生成される。また、「TCP アクセス」要件４５−２が図６に示す具体化規則で具体化されると、ドラフト４８が生成される。
【００９８】
また、図１１に示す探索木の末端には、４種類のドラフト４１、ドラフト４２、ドラフト４３、ドラフト４４が存在する。ドラフト４１〜ドラフト４４は、これ以上の具体化が不可能なドラフトである。
【００９９】
図１１に示すドラフト４２、ドラフト４３、ドラフト４４は、全ての構成部品および要件が具体化されたドラフトである。すなわち、ドラフト４２、ドラフト４３、ドラフト４４は、抽象構成であるドラフト４０を生成元とする具体的なシステム構成情報に対応する。また、図１１に示すドラフト４１は、派生するドラフトが存在せず、かつ具体化も完了していないドラフトである。
【０１００】
［動作の説明］
以下、本実施形態のシステム構成導出装置１００のシステム構成を導出する動作を図１３を参照して説明する。図１３は、第１の実施形態のシステム構成導出装置１００によるシステム構成導出処理の動作を示すフローチャートである。
【０１０１】
最初に、構成情報具体化部１１０は、入出力装置から抽象構成として記載された構成要件の入力を受け付ける（ステップS101）。
【０１０２】
次いで、構成情報具体化部１１０は、受け付けられた構成要件を根とする探索木を生成する（ステップS102）。構成情報具体化部１１０は、生成された探索木を記録する。
【０１０３】
次いで、構成情報具体化部１１０は、探索木内の全てのドラフトに対して探索が終了しているか否かを確認する（ステップS103）。探索が終了している場合（ステップS103におけるYes ）、システム構成導出装置１００は、システム構成導出処理全体を終了する。
【０１０４】
探索木内の全てのドラフトに対して探索が終了していない場合（ステップS103におけるNo）、構成情報具体化部１１０は、次に探索するドラフトを１つ選択する（ステップS104）。次に探索するドラフトの選択方法として、構成情報具体化部１１０は、ランダム選択、深さ優先選択、幅優先選択等の方法を用いることができる。
【０１０５】
次いで、構成情報具体化部１１０は、選択されたドラフトに含まれる全ての抽象構成要素に対する具体化の試行が完了済みであるか否かを確認する（ステップS105）。具体化の試行が完了済みである場合（ステップS105におけるYes ）、構成情報具体化部１１０は、再度ステップS103の処理を行う。
【０１０６】
全ての抽象構成要素に対する具体化の試行が完了済みでない場合（ステップS105におけるNo）、構成情報具体化部１１０は、完了済みでない抽象構成要素の中から具体化対象の抽象構成要素を選択する（ステップS106）。具体化対象の抽象構成要素の選択方法として、構成情報具体化部１１０は、ランダム選択、深さ優先選択、幅優先選択等の方法を用いることができる。
【０１０７】
次いで、構成情報具体化部１１０は、選択された具体化対象の抽象構成要素をキーとして、書き換えに使用可能な具体化規則を具体化規則記録部１２０に問い合わせる。次いで、構成情報具体化部１１０は、具体化規則を具体化規則記録部１２０から取得する（ステップS107）。
【０１０８】
次いで、構成情報具体化部１１０は、取得された具体化規則に記載された具体化方法の選択肢に関して、全ての選択肢を試行済みであるか否かを確認する（ステップS108）。全ての選択肢を試行済みである場合（ステップS108におけるYes ）、構成情報具体化部１１０は、再度ステップS103の処理を行う。
【０１０９】
全ての具体化方法の選択肢を試行済みでない場合（ステップS108におけるNo）、構成情報具体化部１１０は、未選択の選択肢の中から適用される具体化方法を示す選択肢を選択する。具体化方法の選択方法として、構成情報具体化部１１０は、ランダム選択、深さ優先選択、幅優先選択等の方法を用いることができる。
【０１１０】
次いで、構成情報具体化部１１０は、選択された具体化方法が示す書き換え規則に従って選択された抽象構成要素が含まれる一部の構成を書き換えることによって、ステップS104で選択されたドラフトが変換された新たなドラフトを生成する。
【０１１１】
次いで、構成情報具体化部１１０は、生成された新たなドラフトを、ステップS104で選択されたドラフトの子要素として探索木に追加する。以上の処理を実行することによって、構成情報具体化部１１０は、探索木を更新する（ステップS109）。
【０１１２】
また、構成情報具体化部１１０は、ステップS104で選択されたドラフトの付属情報として、ステップS106で選択された抽象構成要素にステップS109で選択された具体化方法が適用済みであることを記録する。
【０１１３】
また、構成情報具体化部１１０は、ステップS106で選択された抽象構成要素に全ての具体化方法が適用済みであれば、抽象構成要素に全ての選択肢が試行済みであることをドラフトの付属情報としてさらに記録する。
【０１１４】
また、構成情報具体化部１１０は、ステップS104で選択されたドラフトの全ての抽象構成要素に全ての選択肢が試行済みであることが記録された場合、ドラフトの付属情報として、全ての抽象構成要素に対する具体化が試行済みであることを記録する。ステップS103、ステップS105、およびステップS108における各判断処理で、構成情報具体化部１１０は、記録されたドラフトの付属情報を用いることができる。
【０１１５】
次いで、構成情報具体化部１１０は、書き換えにより生成された新たなドラフトにおける全ての構成要素が具体的であるか否かを確認する（ステップS110）。具体的でない構成要素が含まれている場合（ステップS110におけるNo）、構成情報具体化部１１０は、再度ステップS103の処理を行う。
【０１１６】
全ての構成要素が具体的である場合（ステップS110におけるYes ）、構成情報具体化部１１０は、ステップS109で生成された新たなドラフトを具体的なシステム構成情報として入出力装置に送信する（ステップS111）。
【０１１７】
システム構成情報を受信した入出力装置は、利用者に向けてシステム構成情報を出力する。送信した後、構成情報具体化部１１０は、再度ステップS103の処理を行う。
【０１１８】
［効果の説明］
本実施形態のシステム構成導出装置１００は、システム構成を自動で導出するシステム構成導出装置である。システム構成導出装置１００は、システムの構成要件としてシステムの構成が抽象的に表現された抽象構成情報の入力を受け付け、抽象構成情報を具体的なシステム構成情報に変換する構成情報具体化部１１０を備える。また、システム構成導出装置１００は、抽象構成情報を具体化する方法が規定された具体化規則を記録する具体化規則記録部１２０を備える。
【０１１９】
構成情報具体化部１１０は、構成要件の一部または全部を具体化規則に従って変換する操作を繰り返し実行することによって、構成要件を段階的に具体化する。具体化された構成要件において各構成部品や構成部品間の関係が含む要件または制約条件が満たされる場合のみ、構成情報具体化部１１０は、具体化された構成要件をさらに具体化する操作を繰り返し実行する。以上の構成により、本実施形態のシステム構成導出装置１００は、具体的なシステム構成情報を生成できる。
【０１２０】
また、本実施形態のシステム構成導出装置１００は、入力された構成要件を具体的なシステム構成情報に変換する処理をグラフ書き換え問題として扱う。グラフ書き換え問題を解決する際、システム構成導出装置１００は、過去の開発資産である構成要素の情報や具体化規則の情報を再利用するため、効率的にICT システムの構成を設計できる。
【０１２１】
また、本実施形態のシステム構成導出装置１００は、抽象的な構成部品、構成部品間の抽象的な関係性、および書き換え規則を追加することによって、導出可能な構成の種類を拡張できる。すなわち、導出可能な設計の構造に特段の制約が設けられないため、システム構成導出装置１００は、運用で求められる複数の要件に柔軟に対応できる。
【０１２２】
また、本実施形態のシステム構成導出装置１００は、抽象的な構成要件を段階的に具体化する過程で、ドラフトが条件を満たさない書き換え規則の適用を中止する。すなわち、探索木を枝刈りするため、システム構成導出装置１００は、より高速にICT システムの構成を設計できる。
【０１２３】
（第２の実施形態）
［構成の説明］
次に、本発明の第２の実施形態を、図面を参照して説明する。図１４は、第２の実施形態のシステム構成導出装置１０１の構成例を示すブロック図である。
【０１２４】
図１４に示すシステム構成導出装置１０１は、図１に示すシステム構成導出装置１００と異なり、具体化方針判断部１３０を備える。図１４に示すように、具体化方針判断部１３０は、具体化規則記録部１２０と通信可能に接続されている。
【０１２５】
また、図１４に示すように、構成情報具体化部１１０は、入出力装置および具体化方針判断部１３０と、それぞれ通信可能に接続されている。具体化方針判断部１３０以外のシステム構成導出装置１０１の構成は、システム構成導出装置１００の構成と同様である。
【０１２６】
具体化方針判断部１３０は、具体化対象のドラフト、抽象構成要素、および適用される具体化規則をそれぞれ選択する機能を有する。以下、本実施形態の具体化方針判断部１３０の動作を説明する。
【０１２７】
具体化方針判断部１３０は、構成情報具体化部１１０からの問合せを契機に動作する。問合せを受けた後、具体化方針判断部１３０は、探索木内の未だ具体的でないドラフトd 内の、抽象構成要素a に対する、適用可能な具体化方法m を表す組(d,a,m) を、１つ以上生成する。
【０１２８】
組を生成した後、具体化方針判断部１３０は、次の具体化の組として最も適切であると判断された組を構成情報具体化部１１０に「具体化方針」として返答する。構成情報具体化部１１０は、具体化方針として組(d,a,m) を受け取った後、ドラフトd 内の抽象構成要素a を具体化方法m で具体化することによって新規のドラフトを生成する。構成情報具体化部１１０は、生成されたドラフトを探索木に追加する。
【０１２９】
例えば、具体化方針判断部１３０は、「より抽象度の小さい構成が得られるような具体化方針を返す」というアルゴリズムに従って動作してもよい。具体的には、具体化方針判断部１３０は、具体化方針に従って新しく生成されるドラフトに含まれる「具体的でない要件、および満たされていない要請の数の合計」が最も小さくなるような具体化方針を、最も適切な具体化方針であると判断する。以下、上記のアルゴリズムを「具体化度最優先戦略」と呼ぶ。
【０１３０】
図１５は、具体化方針判断部１３０による具体化方針の生成例を示す説明図である。図１５は、具体化される抽象要件に応じて、生成されるドラフトにおける抽象度が異なることを示す。図１５に示す例において、具体化方針判断部１３０は、具体化度最優先戦略に従って動作する。
【０１３１】
図１５に示す抽象構成５０は、具体化方針判断部１３０への入力の一例である。図１５に示すように、抽象構成５０は、Javaアプレットとサーバの２つの構成要素を含む。また、抽象構成５０は、Javaアプレットからサーバに向かう「デプロイ」要件を含む。
【０１３２】
また、具体化規則記録部１２０には、抽象構成５０に含まれる「デプロイ」要件、および「SQL Server」要請の２つの抽象構成要素を具体化可能な具体化規則が記録されている。図１６は、具体化規則記録部１２０に記録されている具体化規則の例を示す説明図である。図１６は、図１５に示す例においてドラフトの具体化に用いられた具体化規則を示す。
【０１３３】
図１６に示す具体化規則である第１規則は、「デプロイ」要件を具体化可能な規則である。また、図１６に示す具体化規則である第２規則は、「SQL Server」要請を具体化可能な規則である。
【０１３４】
具体化度最優先戦略に従う具体化方針判断部１３０は、適用可能な全ての具体化規則に対して抽象度の増減を計算する。図１５に示す例であれば、第１規則が抽象構成５０に適用された場合、「デプロイ」要件が充足され、「Web コンテナ」要請が満たされる。従って、第１規則が適用された場合、抽象度が２つ減少する。
【０１３５】
また、第２規則が抽象構成５０に適用された場合、図１５に示すように「SQL サーバ」要請が満たされるが、新たに「ホストサーバ」要請が追加される。従って、第２規則が適用された場合、抽象度は増減しない。
【０１３６】
以上の検討結果を踏まえて、具体化度最優先戦略に従う具体化方針判断部１３０は、抽象構成５０と、「デプロイ」要件と、第１規則とで構成される組を具体化方針として選択する。次いで、具体化方針判断部１３０は、選択された具体化方針を、問合せ元の構成情報具体化部１１０に返答する。
【０１３７】
また、具体化方針判断部１３０は、具体化方針の選択方法に「具体化方法に手動で優先度を付ける」方法を採用してもよい。すなわち、事前準備として、ICT システムの管理者は、各具体化方法に手動で優先度を示すスコアを付ける。
【０１３８】
次いで、具体化方針判断部１３０は、適用可能な具体化方法のうち最もスコアが高い具体化方法を選択する。具体化方針判断部１３０は、選択された具体化方法を含む具体化方針を返答する。
【０１３９】
また、具体化方針判断部１３０は、具体化方針の選択方法に「過去の具体化の成功および失敗の結果を基に具体化方針の評価関数を生成する」方法を採用してもよい。具体的には、具体化方針判断部１３０は、過去の自身の動作記録をフィードバックすることによって、具体化方針に評価値を付ける。
【０１４０】
動作記録は、例えば「具体化方針（具体化対象のドラフトd 、抽象構成要素a 、具体化方法m ）が採用された際、具体化されたシステム構成が得られた」という結果を示す。また、動作記録は、例えば「具体化方針（具体化対象のドラフトd 、抽象構成要素a 、具体化方法m ）が採用された際、ドラフトd の先が探索されても具体化が完了しなかった」という結果を示す。
【０１４１】
具体化方針判断部１３０は、例えば、過去の動作記録を基に「１（成功）」、「０（情報なし）」、「−１（失敗）」のいずれかの評価値を具体化方針に付けてもよい。また、具体化方針判断部１３０は、具体化方針と過去の結果とが対応付けられている教師データを用いて教師あり機械学習を実行することによって、評価関数を生成してもよい。
【０１４２】
なお、本実施形態の構成情報具体化部１１０は、システム構成情報と共に、構成要件から具体的なシステム構成情報が得られるまでの変換経路も出力する。
【０１４３】
構成要件から具体的なシステム構成情報が得られるまでの変換経路は、例えば探索木の根である構成要件d0から探索木の枝を辿って具体的なシステム構成情報dnに辿りつくまでに経由された全てのドラフトd1、d2、・・・、dn-1で構成されるドラフトの列である。例えば、変換経路は、「d0、d1、d2、・・・、dn-1、dn」で表される。
【０１４４】
変換経路の生成のために、構成情報具体化部１１０は、例えば、各ドラフトに「親のドラフト、または親のドラフトのポインタ」や、どの具体化方法で変換されたかを示す情報を保持させる。各情報がドラフトに保持されている場合、構成情報具体化部１１０は、具体的なシステム構成情報からバックトラッキングで根である構成要件まで探索木を辿ることによって、変換経路を生成できる。
【０１４５】
なお、本実施形態の具体化方針判断部１３０は、入出力装置と通信可能に接続されていてもよい。図１７は、第２の実施形態のシステム構成導出装置１０１の他の構成例を示すブロック図である。
【０１４６】
図１７に示す例における具体化方針判断部１３０は、具体化方針の決定を外部の機能、または利用者等に委譲する。具体化方針判断部１３０には、入出力装置を介して決定された具体化対象のドラフトを含む具体化方針が入力される。
【０１４７】
具体化方針判断部１３０は、入力された具体化方針を構成情報具体化部１１０に入力する。なお、外部の機能、または利用者等に具体化方針の決定を依頼する際、具体化方針判断部１３０は、自らが決定した具体化方針を参考用に提示してもよい。
【０１４８】
［動作の説明］
以下、本実施形態のシステム構成導出装置１０１のシステム構成を導出する動作を図１８を参照して説明する。図１８は、第２の実施形態のシステム構成導出装置１０１によるシステム構成導出処理の動作を示すフローチャートである。
【０１４９】
ステップS201〜ステップS203の各処理は、図１３に示すステップS101〜ステップS103の各処理とそれぞれ同様である。すなわち、構成情報具体化部１１０は、入出力装置から抽象構成として記載された構成要件の入力を受け付ける（ステップS201）。
【０１５０】
次いで、構成情報具体化部１１０は、受け付けられた構成要件を根とする探索木を生成する（ステップS202）。構成情報具体化部１１０は、生成された探索木を記録する。
【０１５１】
次いで、構成情報具体化部１１０は、探索木内の全てのドラフトに対して探索が終了しているか否かを確認する（ステップS203）。探索木内の全てのドラフトに対して探索が終了していない場合（ステップS203におけるNo）、構成情報具体化部１１０は、具体化方針判断部１３０に具体化方針を問合せる（ステップS204）。
【０１５２】
次いで、具体化方針判断部１３０は、具体化対象のドラフトと、ドラフト内の抽象構成要素と、具体化方法とを含む具体化方針を構成情報具体化部１１０に返答する。
【０１５３】
また、図１７に示す具体化方針判断部１３０は、構成情報具体化部１１０から具体化方針の問合せを受け付けると、現在の探索木を示す情報を入出力装置に送信する。入出力装置から具体化対象のドラフト内の抽象構成要素の入力を受け付けると、具体化方針判断部１３０は、入力された抽象構成要素に対して適用可能な具体化規則を具体化規則記録部１２０から取得する。
【０１５４】
次いで、図１７に示す具体化方針判断部１３０は、取得された具体化規則を再び入出力装置に送信する。入出力装置から具体化方針の入力を受け付けると、具体化方針判断部１３０は、受け付けられたドラフト内の抽象構成要素が含まれる具体化方針を構成情報具体化部１１０に返答する。
【０１５５】
次いで、構成情報具体化部１１０は、受領された具体化方針に従って具体化対象のドラフトの構成が書き換えられた新たなドラフトを生成する。次いで、構成情報具体化部１１０は、生成された新たなドラフトを、具体化対象のドラフトの子要素として探索木に追加する。
【０１５６】
以上の処理を実行することによって、構成情報具体化部１１０は、探索木を更新する（ステップS205）。探索木を更新した後、構成情報具体化部１１０は、再度ステップS203の処理を行う。
【０１５７】
探索木内の全てのドラフトに対して探索が終了している場合（ステップS203におけるYes ）、構成情報具体化部１１０は、全ての構成要素が具体的であるドラフトを具体的なシステム構成情報とする。
【０１５８】
また、構成情報具体化部１１０は、入力された構成要件から具体的なシステム構成情報が得られるまでの変換経路に関する情報をシステム構成情報に付与する。次いで、構成情報具体化部１１０は、生成された情報を入出力装置に送信する（ステップS206）。
【０１５９】
システム構成情報等を受信した入出力装置は、利用者に向けて受信された情報を出力する。送信した後、システム構成導出装置１０１は、システム構成導出処理全体を終了する。
【０１６０】
［効果の説明］
本実施形態のシステム構成導出装置１０１の構成情報具体化部１１０は、入力された抽象構成を構成要件として受け取り、構成要件を具体化方針判断部１３０に入力する。構成情報具体化部１１０は、具体化方針判断部１３０から具体化箇所を含む具体化方針を受け取り、具体化方針に基づいて抽象構成を書き換える処理を繰り返し実行することによって、完全に具体化されたシステム構成情報を生成して出力する。
【０１６１】
具体化方針判断部１３０は、構成情報具体化部１１０から抽象構成を受け取ると、次の具体化箇所を決定し、決定された具体化箇所の具体化方法の選択肢を具体化規則記録部１２０から取得する。次いで、具体化方針判断部１３０は、取得された選択肢から具体化方法を決定し、決定された具体化箇所および具体化方法それぞれを構成情報具体化部１１０に入力する。
【０１６２】
本実施形態のシステム構成導出装置１０１は、上記のように構成情報の変換に関する方針を判断する具体化方針判断部１３０を備える。具体化方針判断部１３０は、各変換操作において変換される抽象構成の部分を決定すると共に、決定された部分に適用可能な変換規則に記載された変換方法の選択肢を１つ選択する。本実施形態の構成情報具体化部１１０は、具体化方針判断部１３０による判断に従って、抽象構成要素を変換する。
【０１６３】
本実施形態の構成情報具体化部１１０は、抽象的な構成要件を段階的に具体化する過程で、具体化方針判断部１３０で指定された条件を満たしつつ具体的なシステム構成を導く可能性の高い書き換え規則を優先的に試行する。
【０１６４】
よって、本実施形態のシステム構成導出装置１０１は、膨大な探索を行わずに済むため、第１の実施形態のシステム構成導出装置１００よりも高速にシステム構成を設計できる。すなわち、システム構成導出装置１０１は、複数の要件を満たすシステム構成をより高速に導出できる。
【０１６５】
また、利用者は、具体化の過程を示す情報や具体化方針の選択の根拠を示す情報を受け取ることによって、システム構成導出装置１０１を用いてより精度の高いシステム構成を設計するための入力要件を容易に調整できる。
【０１６６】
また、図１７に示すシステム構成導出装置１０１が使用される場合、システムの設計者が、システム設計の具体化に関する意思決定に関与できる。すなわち、図１７に示すシステム構成導出装置１０１は、より設計者の意図に即したシステム構成を設計できる。
【０１６７】
（第３の実施形態）
［構成の説明］
次に、本発明の第３の実施形態を、図面を参照して説明する。図１９は、第３の実施形態のシステム構成導出装置１０２の構成例を示すブロック図である。
【０１６８】
図１９に示すシステム構成導出装置１０２は、図１４に示すシステム構成導出装置１０１と異なり、要件合成部１４０を備える。図１９に示すように、要件合成部１４０は、入出力装置および構成情報具体化部１１０と、それぞれ通信可能に接続されている。要件合成部１４０以外のシステム構成導出装置１０２の構成は、システム構成導出装置１０１の構成と同様である。
【０１６９】
要件合成部１４０は、複数の利用者から個別に入力された、分割された状態の構成要件を単一の抽象構成に取り纏める機能を有する。以下、本実施形態の要件合成部１４０の動作を説明する。
【０１７０】
図２０は、要件合成部１４０に入力される断片的な構成要件の例を示す説明図である。
図２０に示す構成要件は、インターネットを表す構成要素６１と、Web ページを表す構成要素６２と、構成要素６１から構成要素６２に向けた「閲覧」要件とを含む。
【０１７１】
図２１は、要件合成部１４０に入力される断片的な構成要件の他の例を示す説明図である。図２１に示す構成要件は、インターネットを表す構成要素６３と、メールサーバを表す構成要素６４と、ユーザ端末を表す構成要素６５とを含む。
【０１７２】
また、図２１に示す構成要件は、構成要素６３から構成要素６４に向けた「SMTP(Simple Mail Transfer Protocol) 接続」要件と、構成要素６５から構成要素６４に向けた「POP(Post Office Protocol)3接続」要件とを含む。
【０１７３】
図２２は、要件合成部１４０に入力される断片的な構成要件の他の例を示す説明図である。図２２に示す構成要件は、インターネットを表す構成要素６６と、ユーザ端末を表す構成要素６７と、DMZ(DeMilitarized Zone) を表す構成要素６８と、イントラネットを表す構成要素６９とを含む。
【０１７４】
また、図２２に示す構成要件は、構成要素６６から構成要素６８に向けた「導通」要件と、構成要素６７から構成要素６９に向けた「導通」要件と、構成要素６８から構成要素６９に向けた「アクセス不許可」要件とを含む。図２０〜図２２に示す各構成要件は、複数の利用者から個別に入力された断片的な構成要件の例である。
【０１７５】
図２３は、要件合成部１４０が出力する単一の構成要件の例を示す説明図である。図２３に示す単一の構成要件は、図２０〜図２２に示す３つの断片的な構成要件を全て要件合成部１４０が合成することによって生成される抽象構成を示す。
【０１７６】
図２０に示す構成要素６１、図２１に示す構成要素６３、および図２２に示す構成要素６６は、いずれもインターネットを表す。よって、要件合成部１４０は、３つの構成要素を１つの構成要素７１に取り纏める。構成要素７１は、図２３に示す構成要件の構成要素になる。
【０１７７】
また、図２１に示す構成要素６５、および図２２に示す構成要素６７は、いずれもユーザ端末を表す。よって、要件合成部１４０は、２つの構成要素を１つの構成要素７２に取り纏める。構成要素７２は、図２３に示す構成要件の構成要素になる。
【０１７８】
また、要件合成部１４０は、取り纏められた構成要素以外の図２０〜図２２に示す各構成要素を、そのまま図２３に示す構成要件の構成要素にする。
【０１７９】
従って、図２３に示す構成要件は、インターネット、Web ページ、メールサーバ、ユーザ端末、DMZ 、およびイントラネットをそれぞれ表す６つの構成要素と、図２０〜図２２に示す構成要件に従って各構成要素の間に指定された６つの要件とで構成される。
【０１８０】
［動作の説明］
以下、本実施形態のシステム構成導出装置１０２のシステム構成を導出する動作を図２４を参照して説明する。図２４は、第３の実施形態のシステム構成導出装置１０２によるシステム構成導出処理の動作を示すフローチャートである。
【０１８１】
本実施形態のシステム構成導出装置１０２は、構成情報具体化部１１０が構成要件を受領する前に、要件合成部１４０が利用者からの入力を受け付け、入力を変換した上で構成情報具体化部１１０に入力する。
【０１８２】
最初に、要件合成部１４０は、入出力装置を介して、複数の利用者それぞれから構成要件の入力を受け付ける（ステップS301）。
【０１８３】
次いで、要件合成部１４０は、受け付けられた複数の構成要件を合成することによって、単一の構成要件を生成する（ステップS302）。
【０１８４】
次いで、要件合成部１４０は、ステップS302で得られた構成要件を構成情報具体化部１１０に入力する（ステップS303）。
【０１８５】
ステップS304〜ステップS308の各処理は、図１８に示すステップS202〜ステップS206の各処理とそれぞれ同様である。すなわち、構成情報具体化部１１０が構成要件を受領し、具体化して入出力装置に入力する部分の動作は、第２の実施形態における動作と同様である。
【０１８６】
［効果の説明］
本実施形態のシステム構成導出装置１０２は、要件合成部１４０が複数の利用者から個別に入力された構成要件を単一の抽象構成に取り纏めるため、与えられた全ての要件の間の整合性を維持したままシステムを構築したり更新したりできる。
【０１８７】
すなわち、システム構成導出装置１０２が使用されると、システムの管理に携わる複数の利用者は、システム全体を把握せずに済む。複数の利用者は、それぞれが管轄する部分的な構造に関する要件のみを管理すればよい。
【０１８８】
（第４の実施形態）
［構成の説明］
次に、本発明の第４の実施形態を、図面を参照して説明する。図２５は、第４の実施形態のシステム構成導出装置１０３の構成例を示すブロック図である。
【０１８９】
図２５に示すシステム構成導出装置１０３は、図１４に示すシステム構成導出装置１０１と異なり、構成情報変換部１５０を備える。図２５に示すように、構成情報変換部１５０は、構成情報具体化部１１０、およびシステム構成導出装置１０３の外部の配備装置２００と、それぞれ通信可能に接続されている。構成情報変換部１５０以外のシステム構成導出装置１０３の構成は、システム構成導出装置１０１の構成と同様である。
【０１９０】
本実施形態の構成情報変換部１５０は、構成情報具体化部１１０が生成した具体的なシステム構成情報を、外部の配備装置２００が受け付け可能な仕様で記述されたシステム構成情報に変換する機能を有する。
【０１９１】
外部の配備装置２００は、具体的なシステム構成情報を受け付けると、システム構成情報の記述内容に従ってシステムを配備する機能を有する。外部の配備装置２００が受け付け可能な具体的なシステム構成情報の記述方式は、例えば、クラウドコンピューティング基盤において動作するシステムの構成を記述するための国際標準仕様であるOASIS （登録商標）/TOSCA(Topology and Orchestration Specification for Cloud Applications)仕様である。
【０１９２】
また、外部の配備装置２００は、例えばTOSCA 仕様で記述されたシステム構成情報に基づいてシステムを配備する機能を有するオーケストレータである。
【０１９３】
以下、OASIS/TOSCA 仕様のうち、TopologyTemplateの仕様を説明する。TopologyTemplateは、複数の構成部品の組み合わせを用いてシステムの構成を記述するための仕様である。
【０１９４】
TopologyTemplateに記載される要素には、構成部品を表す要素であるNodeと、構成部品間の関係性を表すRelationがある。TopologyTemplateが用いられると、NodeがRelationで結びつけられたグラフでシステムの構成が表現される。
【０１９５】
また、各Nodeや各Relationには、型を示す情報が付与される。型を示す情報には、一般的な性質、属性、および他のNodeとの間に定義可能なRelationの種別等が規定される。
【０１９６】
本実施形態の構成情報具体化部１１０で生成される具体的なシステム構成情報も、グラフで表現可能である。よって、各構成要素や各関係性と、対応するTOSCA のNodeの型やRelationの型とのマッピング情報をそれぞれ定義することによって、構成情報変換部１５０は、定義されたマッピング情報に基づいてシステム構成情報をTOSCA のTopologyTemplate形式の情報に変換できる。
【０１９７】
ただし、マッピング情報の内容は、必ずしも構成要素がNodeに対応し、関係性がRelationに対応する内容に限定されなくてもよい。例えば、構成要素と関係性の組がRelationに変換されたり、関係性がNodeとRelationの組に変換されたりするような対応関係がマッピング情報に規定されてもよい。
【０１９８】
例えば、構成要素a と構成要素b を関係性r が結び付けている場合を考える。構成要素a がNode1 に対応し、構成要素b がNode2 に対応するとき、関係性r は、Node1 とNode2 を接続するRelation3 に変換されてもよい。
【０１９９】
また、関係性r は、Node3 と２つのRelationに変換されてもよい。２つのRelationは、Node3 とNode1 を接続するRelation、およびNode3 とNode2 を接続するRelationである。
【０２００】
［動作の説明］
以下、本実施形態のシステム構成導出装置１０３のシステム構成を導出する動作を図２６を参照して説明する。図２６は、第４の実施形態のシステム構成導出装置１０３によるシステム構成導出処理の動作を示すフローチャートである。
【０２０１】
ステップS401〜ステップS406の各処理は、図１８に示すステップS201〜ステップS206の各処理とそれぞれ同様である。すなわち、構成情報具体化部１１０が具体的なシステム構成情報を生成するまでの部分の動作は、第２の実施形態における動作と同様である。
【０２０２】
生成された情報を入出力装置に送信した後、構成情報具体化部１１０は、生成された具体的なシステム構成情報を構成情報変換部１５０に入力する（ステップS407）。
【０２０３】
次いで、構成情報変換部１５０は、入力された具体的なシステム構成情報を、TOSCA 仕様等の予め指定された変換方法に則り、配備用のシステム構成情報に変換する。
【０２０４】
次いで、構成情報変換部１５０は、変換された配備用のシステム構成情報を外部の配備装置２００に送信する（ステップS408）。送信した後、システム構成導出装置１０３は、システム構成導出処理全体を終了する。
【０２０５】
外部の配備装置２００が、受信されたシステム構成情報に基づいてシステムを構築することによって、利用者の構成要件を基に設計されたシステムが配備される。
【０２０６】
なお、生成された具体的なシステム構成情報を構成情報変換部１５０に入力する前に、構成情報具体化部１１０は、入出力装置を介して、生成された具体的なシステム構成情報を利用者に提示してもよい。提示した際、構成情報具体化部１１０は、利用者にシステム構成情報が示すシステムを配備してもよいか否かを確認してもよい。
【０２０７】
［効果の説明］
本実施形態の構成情報変換部１５０は、構成情報具体化部１１０が生成したシステム構成情報を、外部の配備装置２００が受け付け可能な仕様で記述されたシステム構成情報に変換できる。よって、本実施形態のシステム構成導出装置１０３を利用した場合、利用者は、構成要件を入力するだけで、システム構成を具体化し、システムを配備するまでの一連の動作を自動化できる。
【０２０８】
（第５の実施形態）
［構成の説明］
次に、本発明の第５の実施形態を、図面を参照して説明する。図２７は、第５の実施形態のシステム構成導出装置１０４の構成例を示すブロック図である。
【０２０９】
図２７に示すシステム構成導出装置１０４は、図２５に示すシステム構成導出装置１０３と異なり、構成要件記録部１６０と要件確認部１７０とを備える。図２７に示すように、構成要件記録部１６０は、入出力装置、構成情報具体化部１１０、および要件確認部１７０と、それぞれ通信可能に接続されている。
【０２１０】
また、図２７に示すように、要件確認部１７０は、構成情報具体化部１１０、構成情報変換部１５０、システム構成導出装置１０４の外部の監視装置３００、およびシステム構成導出装置１０４の外部の状態管理装置４００と、それぞれ通信可能に接続されている。構成要件記録部１６０および要件確認部１７０以外のシステム構成導出装置１０４の構成は、システム構成導出装置１０３の構成と同様である。
【０２１１】
外部の監視装置３００は、監視対象システムの状態を監視する機能を有する。状態に変化があった場合等に、監視装置３００は、監視対象システムの状態を状態管理装置４００等に通知する。
【０２１２】
例えば、監視対象システムの一部に障害が発生し所定の接続が途絶した場合、監視装置３００は、所定の接続の状態変化を検出し、所定の接続に関する状態を障害状態として状態管理装置４００に通知する。
【０２１３】
また、外部の状態管理装置４００は、監視対象システムの状態を読み出し可能に記録する機能を有する。状態管理装置４００は、監視対象システムが複数の部品が組み合わせられて構成されていると想定し、各部品の状態を記録する。
【０２１４】
例えば、上記のように一部の接続が途絶した場合、状態管理装置４００は、接続の状態を障害状態として読み出し可能に記録する。
【０２１５】
また、本実施形態の構成要件記録部１６０は、入力された構成要件を読み出し可能に記録する機能を有する。
【０２１６】
また、本実施形態の要件確認部１７０は、システム構成が構成要件に記載された条件を満たすか否かを判断する機能を有する。満たしていないと判断された場合、要件確認部１７０は、構成情報具体化部１１０に更新要求を通知する。
【０２１７】
更新要求を通知することによって、要件確認部１７０は、監視対象システムの構成を構成情報具体化部１１０に再設計させ、要件を満たす状態へ監視対象システムを復旧させる。
【０２１８】
例えば、Web アプリケーションの構成が記載された構成要件が新規に入力された場合、状態管理装置４００は、対応する現状構成を取得できない。よって、要件確認部１７０は、構成要件を満たしていないと判断する。
【０２１９】
次いで、要件確認部１７０は、構成情報具体化部１１０に更新要求を通知する。構成情報具体化部１１０は、構成要件に基づいて具体的なWeb アプリケーションのシステム構成情報を生成する。次いで、配備装置２００は、生成されたシステム構成情報を基にWeb アプリケーションを配備する。すなわち、システムの更新ではなく、新規のシステムの構築が行われる。
【０２２０】
また、例えば、Web アプリケーションの構成がリソースの追加により拡張され、上書きされたWeb アプリケーションの構成要件が入力された場合、状態管理装置４００は、対応する現状構成を取得できる。
【０２２１】
取得された現状構成は、上書きされた新たな構成要件を満たしていない。よって、要件確認部１７０は、構成情報具体化部１１０に更新要求を通知する。次いで、配備装置２００に新たな配備要求が通知され、配備装置２００は、Web アプリケーションにリソースを追加で配備する。
【０２２２】
以下、「全ての具体化方法は構成部品を消去しない」という前提条件が設定されている場合に考えられる要件確認部１７０の実現手段の一例を示す。
【０２２３】
構成要件と現状構成とを受け付けた後、要件確認部１７０は、構成情報具体化部１１０と同様の処理を実行することによって、探索木の生成を開始する。ただし、新規に生成されるドラフトが現状構成に含まれる構成部品より多くの構成部品を含む場合、ドラフトが根として生成される探索木には、現状構成が含まれない。
【０２２４】
以上の事実を考慮して、探索木の生成において生成されるドラフトを、「現状構成に含まれる構成部品より多くの構成部品を含まないドラフト」に制限することが考えられる。さらに、「一度生成されたドラフトと全く同じドラフトが再度探索木に生成された場合、当該ドラフトの先を展開しない」という制限も設けることが考えられる。
【０２２５】
上記の制限が設定されると、要件確認部１７０は、構成要件の下で生成される可能性がある「現状構成に含まれる構成部品より多くの構成部品を含まない具体的なシステム構成群」を、探索木の生成において全て求めることができる。
【０２２６】
以上の方法で求められた具体的なシステム構成群の中に現状構成が含まれるか否かを確認することによって、要件確認部１７０は、現状構成が構成要件を満たすか否かを判断できる。
【０２２７】
なお、本実施形態の構成情報変換部１５０は、変換された具体的なシステム構成情報を配備装置２００に送信すると共に、状態管理装置４００にもシステム構成情報とキーであるシステムIDとを送信する。状態管理装置４００は、送信されたシステムIDとシステム構成情報とを対応付けて、読み出し可能に記録する。
【０２２８】
［動作の説明］
以下、本実施形態のシステム構成導出装置１０４のシステム構成を導出する動作を図２８〜図２９を参照して説明する。本実施形態のシステム構成導出装置１０４のシステム構成を導出する動作には、入出力装置を介した構成要件の入力を起点とする動作と、監視装置３００から要件確認部１７０への確認要求の通知を起点とする動作の２種類の動作がある。
【０２２９】
最初に、構成要件記録部１６０への構成要件の入力を起点とする動作を説明する。図２８は、第５の実施形態のシステム構成導出装置１０４によるシステム構成導出処理の動作を示すフローチャートである。
【０２３０】
最初に、入出力装置を介して構成要件が入力される。構成要件記録部１６０は、入力された構成要件を受け付け、受け付けられた構成要件を読み出し可能に記録する（ステップS501）。
【０２３１】
なお、構成要件記録部１６０には、構成要件と併せてシステムIDが入力されてもよい。システムIDが入力されなかった場合、構成要件記録部１６０は、新規のシステムIDを生成し、入力された構成要件と対応付けて記録する。システムIDが追加で入力された場合、構成要件記録部１６０は、追加で入力されたシステムIDに対応付けられている構成要件を、入力された構成要件で上書きする。
【０２３２】
次いで、構成要件記録部１６０は、記録されたシステムIDおよび構成要件を、要件確認部１７０に入力する（ステップS502）。
【０２３３】
次いで、要件確認部１７０は、入力されたシステムIDを状態管理装置４００に送信する。状態管理装置４００は、送信されたシステムIDをキーとして監視対象システムの現状構成を取得する（ステップS503）。
【０２３４】
状態管理装置４００は、取得された監視対象システムの現状構成を構成情報変換部１５０に送信する。構成情報変換部１５０は、送信された監視対象システムの現状構成をシステム構成情報の形式に変換する。次いで、構成情報変換部１５０は、変換されたシステム構成情報を要件確認部１７０に入力する。
【０２３５】
次いで、要件確認部１７０は、受け付けられた構成要件と現状構成とを照会し、現状構成が構成要件を満たすか否かを確認する（ステップS504）。現状構成が構成要件を満たす場合（ステップS504におけるYes ）、システム構成導出装置１０４は、システム構成導出処理全体を終了する。
【０２３６】
現状構成が構成要件を満たしていない場合（ステップS504におけるNo）、要件確認部１７０は、構成情報具体化部１１０に更新要求を通知する（ステップS505）。
【０２３７】
ステップS506〜ステップS513の各処理は、図２６に示すステップS401〜ステップS408の各処理とそれぞれ同様である。すなわち、構成情報具体化部１１０に更新要求が通知されてから具体的なシステム構成情報が配備装置２００へ送信され、システムが配備されるまでの部分の動作は、第４の実施形態における動作と同様である。
【０２３８】
次に、監視装置３００から要件確認部１７０に通知される確認要求を起点とする動作を説明する。図２９は、第５の実施形態のシステム構成導出装置１０４によるシステム構成導出処理の他の動作を示すフローチャートである。
【０２３９】
監視装置３００は、監視対象システムの状態変化を検出すると、最初に状態管理装置４００に記録された監視対象システムの状態を、検出された新規状態に更新する。次いで、監視装置３００は、要件確認部１７０に監視対象システムのシステムIDと共に確認要求を通知する。
【０２４０】
要件確認部１７０は、通知されたシステムIDと確認要求とを受け付ける（ステップS601）。次いで、要件確認部１７０は、受け付けられたシステムIDをキーとして、状態管理装置４００から現状構成を取得する。
【０２４１】
具体的には、要件確認部１７０は、キーであるシステムIDを状態管理装置４００に送信する。状態管理装置４００は、送信されたシステムIDをキーとして監視対象システムの現状構成を取得する。
【０２４２】
次いで、状態管理装置４００は、取得された監視対象システムの現状構成を構成情報変換部１５０に送信する。構成情報変換部１５０は、送信された監視対象システムの現状構成をシステム構成情報の形式に変換する。次いで、構成情報変換部１５０は、変換されたシステム構成情報を要件確認部１７０に入力する。
【０２４３】
また、要件確認部１７０は、受け付けられたシステムIDをキーとして、構成要件記録部１６０から構成要件を取得する（ステップS602）。
【０２４４】
次いで、要件確認部１７０は、取得された構成要件と現状構成とを照会し、現状構成が構成要件を満たすか否かを確認する（ステップS603）。現状構成が構成要件を満たす場合（ステップS603におけるYes ）、システム構成導出装置１０４は、システム構成導出処理全体を終了する。
【０２４５】
現状構成が構成要件を満たしていない場合（ステップS603におけるNo）、要件確認部１７０は、構成要件を構成情報具体化部１１０に入力する。ステップS604〜ステップS611の各処理は、図２６に示すステップS401〜ステップS408の各処理とそれぞれ同様である。
【０２４６】
［効果の説明］
本実施形態のシステム構成導出装置１０４が使用された場合、利用者は、構成要件を入力したり更新したりするだけで、故障等の外部要因に伴う変化に対して監視対象システムを維持する作業や、機能拡張等の要件変更に伴う更新作業を実行できる。
【０２４７】
すなわち、抽象的な要件を記載するだけでシステムのメンテナンスを実行できるため、利用者は、システムの保守作業を具体的なシステム構成を入力する場合に比べて効率的に実行できる。
【０２４８】
（GUI(Graphical User Interface) の説明）
各実施形態における入出力装置は、例えばGUI を備えている。図３０は、各実施形態における入出力装置が備えるGUI の例を示す説明図である。
【０２４９】
図３０に示すように、各実施形態における入出力装置が備えるGUI は、利用者が要件を定義するために使用する要件の編集用画面である要件定義領域と、設計結果を確認するために使用する設計結果の表示用画面である設計結果確認領域とを含む。
【０２５０】
また、図３０に示すように、各実施形態における入出力装置が備えるGUI は、要件定義領域に表示された構成要件から設計結果確認領域に表示された具体的なシステム構成情報が導出されるまでの過程を確認するために使用される、設計理由の表示領域である設計理由確認領域を含む。また、設計理由確認領域には、システム構成情報が導出されるまでの各判断の内容や理由等が表示される。
【０２５１】
図３０に示すように、要件定義領域には、構成要件を表す抽象構成がグラフ等で表示される。利用者は、マウス等を用いて、新規のノードやエッジの追記、表示されている既存のノードやエッジの繋ぎ換え、およびノードやエッジの削除等を実行することによって、構成要件を編集できる。
【０２５２】
また、要件定義領域には、構成要件の編集に利用可能なノードやエッジが並べられて表示される領域である構成部品参照領域が含まれてもよい。利用者は、構成部品参照領域に表示されたノードやエッジをドラッグして要件定義領域にドロップするマウス操作を実行することによって、構成要件にノードを追加できる。
【０２５３】
また、利用者は、構成部品参照領域に表示されたエッジをクリックして選択状態にした上で、要件定義領域に表示されたノードから別のノードへドラッグ＆ドロップの操作を実行することによって、ノードから別のノードへエッジを追加できる。
【０２５４】
また、要件定義領域には、設計全体に課せられる省資源制約等の要件が表示される領域や、構成要件内のノードやエッジがクリックされて選択状態にされた際に選択されたノードやエッジの属性が表示される領域がさらに含まれてもよい。
【０２５５】
図３０に示すように、設計結果確認領域には、生成された具体的なシステム構成情報がグラフ等で表示される。また、設計結果確認領域には、表示された各ノードや各エッジがクリックされた際にクリックされた対象の属性値等の詳細情報が表示される領域が含まれてもよい。
【０２５６】
図３０に示すように、設計理由確認領域には、構成要件から具体的なシステム構成情報が導出されるまでの過程に相当する各判断の内容のリストが表示される。各判断の内容には、抽象構成の変換内容、すなわち変換対象の抽象構成要素、および抽象構成要素に対応する変換後の構成要素または構成要素群に関する説明が含まれる。
【０２５７】
また、各判断の内容には、さらに具体化方針の選択に使用された各選択肢のスコアが、選択の根拠として含まれてもよい。
【０２５８】
また、設計理由確認領域には、各判断の上下に各時点のドラフトに対応する選択可能なボタンが配置されてもよい。ボタンがクリック等で選択された際、クリックされたボタンに対応するドラフトの内容が設計結果確認領域等に表示されてもよい。ドラフトの内容が表示されると、利用者は、設計が段階的に具体化される様子を確認できる。
【０２５９】
また、GUI は、利用者が表示されたドラフト内の要件を選択し、要件定義領域にドラッグ＆ドロップする操作等を実行することによって、具体化の過程で生成された一部の構成が構成要件として取り込まれるように構成されていてもよい。
【０２６０】
また、GUI は、利用者が設計結果確認領域に表示された構成部品や関係性をクリック等で選択した際に、選択された要素に影響する変換が実行された設計理由確認領域に表示されている各判断を色を変えて表示するように構成されていてもよい。すなわち、GUI において選択された部分に関する設計理由が、選択的に表示される。
【０２６１】
図３０に示すGUI が使用されると、各実施形態のシステム構成導出装置は、入力された構成要件を具体的なシステム構成情報に変換する処理を、グラフ書き換え問題として処理できる。すなわち、各実施形態のシステム構成導出装置は、コンピュータによる計算処理で過去の開発資産を効果的に再利用することによって、効率的にICT システムの構成を設計できる。
【０２６２】
また、図３０に示すGUI が使用されると、導出可能なICT システムの構成が、抽象的な構成部品、構成部品間の関係性、および書き換え規則が追加されることによって拡張される。すなわち、各実施形態のシステム構成導出装置は、導出可能なICT システムの構造に特段の制約を設けずに、要求される複数の要件に柔軟に対応できる。
【０２６３】
なお、各実施形態における入出力装置は、GUI を備えていなくてもよい。例えば、GUI を備えていない入出力装置に、構成要件を示すテキストデータが入力されてもよい。また、GUI を備えていない入出力装置が、システム構成情報を示すテキストデータを出力してもよい。
【０２６４】
なお、ブロック図に記載されている単方向の矢印は、データ（情報）が流れる方向を示す。しかし、各矢印が記載されている箇所において双方向にデータが流れる可能性は排除されていない。
【０２６５】
以下、各実施形態のシステム構成導出装置１００〜システム構成導出装置１０４のハードウェア構成の具体例を説明する。図３１は、本発明の各実施形態を適用可能なシステム構成導出装置のハードウェア構成例を示す説明図である。
【０２６６】
図３１に示すシステム構成導出装置は、ＣＰＵ（Central Processing Unit ）８１と、主記憶部８２と、通信部８３と、補助記憶部８４とを備える。また、ユーザが操作するための入力部８５や、ユーザに処理結果または処理内容の経過を提示するための出力部８６を備えてもよい。
【０２６７】
また、システム構成導出装置１００〜システム構成導出装置１０４は、図３１に示すＣＰＵ８１が各構成要素が有する機能を提供するプログラムを実行することによって、ソフトウェアにより実現される。
【０２６８】
すなわち、ＣＰＵ８１が補助記憶部８４に格納されているプログラムを、主記憶部８２にロードして実行し、システム構成導出装置１００〜システム構成導出装置１０４の各動作を制御することによって、各機能がソフトウェアにより実現される。
【０２６９】
なお、図３１に示すシステム構成導出装置は、ＣＰＵ８１の代わりにＤＳＰ（Digital Signal Processor）を備えてもよい。または、図３１に示すシステム構成導出装置は、ＣＰＵ８１とＤＳＰとを併せて備えてもよい。
【０２７０】
主記憶部８２は、データの作業領域やデータの一時退避領域として用いられる。主記憶部８２は、例えばＲＡＭ（Random Access Memory）である。
【０２７１】
通信部８３は、有線のネットワークまたは無線のネットワーク（情報通信ネットワーク）を介して、周辺機器との間でデータを入力および出力する機能を有する。
【０２７２】
補助記憶部８４は、一時的でない有形の記憶媒体である。一時的でない有形の記憶媒体として、例えば磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ（Compact Disk Read Only Memory ）、ＤＶＤ−ＲＯＭ（Digital Versatile Disk Read Only Memory ）、半導体メモリが挙げられる。
【０２７３】
入力部８５は、データや処理命令を入力する機能を有する。入力部８５は、例えばキーボードやマウス等の入力デバイスである。
【０２７４】
出力部８６は、データを出力する機能を有する。出力部８６は、例えば液晶ディスプレイ装置等の表示装置、またはプリンタ等の印刷装置である。
【０２７５】
また、図３１に示すように、システム構成導出装置において、各構成要素は、システムバス８７に接続されている。
【０２７６】
補助記憶部８４は、例えば、構成情報具体化部１１０、具体化方針判断部１３０、要件合成部１４０、構成情報変換部１５０、および要件確認部１７０を実現するためのプログラムを記憶している。
【０２７７】
また、主記憶部８２は、例えば、具体化規則記録部１２０、および構成要件記録部１６０の記憶領域として利用される。また、構成情報具体化部１１０、具体化方針判断部１３０、構成情報変換部１５０、および要件確認部１７０は、通信部８３を介して通信処理を実行してもよい。
【０２７８】
なお、システム構成導出装置１００〜システム構成導出装置１０４は、ハードウェアにより実現されてもよい。例えば、システム構成導出装置１００は、内部に図１に示すような機能を実現するＬＳＩ（Large Scale Integration ）等のハードウェア部品が含まれる回路が実装されてもよい。
【０２７９】
また、各構成要素の一部または全部は、汎用の回路（circuitry ）または専用の回路、プロセッサ等やこれらの組み合わせによって実現されてもよい。これらは、単一のチップ（例えば、上記のＬＳＩ）によって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各構成要素の一部または全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
【０２８０】
各構成要素の一部または全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
【０２８１】
次に、本発明の概要を説明する。図３２は、本発明によるシステム構成導出装置の概要を示すブロック図である。本発明によるシステム構成導出装置９０は、未確定な部分が含まれているシステムの構成を示す情報である抽象構成情報の未確定な部分を確定することによって抽象構成情報を具体化する方法が規定された具体化規則を記憶する記憶部９１（例えば、具体化規則記録部１２０）と、システムの構成要件に含まれている抽象構成情報を記憶されている具体化規則を用いて具体化することによって構成要件を基に未確定な部分が含まれていないシステムの構成を示す情報であるシステム構成情報を生成する生成部９２（例えば、構成情報具体化部１１０）とを備える。
【０２８２】
また、抽象構成情報は、抽象的または具体的な複数の構成部品や構成部品間の関係を示してもよい。また、構成要件は、少なくとも１つの抽象的な構成部品や構成部品間の関係を含んでもよい。
【０２８３】
また、生成部９２は、構成要件の一部または全部を具体化規則を用いて具体化する操作を繰り返し実行することによってシステム構成情報を生成してもよい。
【０２８４】
そのような構成により、システム構成導出装置は、抽象的な構成要件を基にICT システムの構成を設計できる。
【０２８５】
また、具体化規則には、具体化する複数の方法が規定され、生成部９２は、抽象構成情報に複数の方法をそれぞれ適用することによって複数のシステム構成情報を生成してもよい。
【０２８６】
また、抽象構成情報は、抽象度が異なる複数の未確定な部分（例えば、構成部品や構成部品間の関係）を含み、生成部９２は、構成要件に含まれている抽象構成情報を具体化する操作を複数の未確定な部分が全て具体化された時点で停止してもよい。
【０２８７】
また、抽象構成情報は、システムに課せられた制約条件またはシステムに求められる性質に関する要件を含み、生成部９２は、制約条件または要件を満たすシステム構成情報を優先的に生成してもよい。
【０２８８】
また、具体化規則は、未確定な部分が具体化された後の構成に関する情報を含み、生成部９２は、未確定な部分が具体化された後の構成に情報を付加してもよい。
【０２８９】
そのような構成により、システム構成導出装置は、入力される様々な構成要件に対応できる。
【０２９０】
また、具体化規則には、抽象構成情報の未確定な部分の一部のみを確定することによって抽象構成情報を具体化する方法が規定された規則が含まれていてもよい。
【０２９１】
そのような構成により、システム構成導出装置は、より少数の具体化規則を基に多様なシステム構成情報を生成できる。
【０２９２】
また、生成部９２は、システムの構成要件を根とするツリーを用いてシステム構成情報を生成してもよい。
【０２９３】
また、生成部９２は、ツリーで表現されている抽象構成情報の具体化過程を遡ることによってまだ適用されていない方法から具体化する方法を選択してもよい。また、生成部９２は、具体化する方法のうち適用可能な方法が無い場合に方法を選択してもよい。
【０２９４】
そのような構成により、システム構成導出装置は、網羅的にシステム構成情報を生成できる。
【０２９５】
また、生成部９２は、構成要件の具体化過程に関する情報として具体化された未確定な部分と適用された具体化する方法とを出力してもよい。
【０２９６】
そのような構成により、システム構成導出装置は、構成要件の具体化過程を利用者に提示できる。
【０２９７】
また、システム構成導出装置９０は、抽象構成情報の具体化に関する方針を判断する判断部（例えば、具体化方針判断部１３０）を備え、判断部は、具体化に関する方針の判断において抽象構成情報の具体化される部分を決定し、決定された部分の具体化に用いられる具体化規則を選択し、生成部９２は、決定された部分を選択された具体化規則を用いて具体化してもよい。
【０２９８】
また、判断部は、所定の判断ルール、または過去の判断の履歴を基に具体化に関する方針を判断してもよい。また、判断部は、所定の判断ルールと過去の判断の履歴の両方を基に具体化に関する方針を判断してもよい。
【０２９９】
また、判断部は、外部からの入力を基に具体化に関する方針を判断してもよい。
【０３００】
そのような構成により、システム構成導出装置は、より高速にシステム構成情報を生成できる。
【０３０１】
また、システム構成導出装置９０は、分割された複数の抽象構成情報を合成する合成部（例えば、要件合成部１４０）を備え、生成部９２は、合成された複数の抽象構成情報を具体化してもよい。
【０３０２】
そのような構成により、システム構成導出装置は、複数の利用者からそれぞれ入力された構成要件を基にシステム構成情報を生成できる。
【０３０３】
また、システム構成導出装置９０は、システム構成情報の形式を変換する変換部（例えば、構成情報変換部１５０）を備え、変換部は、生成されたシステム構成情報の形式をシステムの配備装置が受け付け可能な形式に変換し、変換されたシステム構成情報を配備装置に送信してもよい。
【０３０４】
そのような構成により、システム構成導出装置は、システム構成を具体化し、システムを配備するまでの一連の動作を自動化できる。
【０３０５】
また、システム構成導出装置９０は、システムの構成が構成要件を満たすか否かを確認する確認部（例えば、要件確認部１７０）を備え、確認部は、配備装置により配備された現在のシステムの構成が構成要件を満たすか否かを確認し、構成要件を満たさないシステムの更新要求を生成部９２に入力し、生成部９２は、入力された更新要求を基に構成要件を満たすシステム構成情報を生成してもよい。また、生成部９２は、生成されたシステム構成情報を変換部を介して配備装置に送信することによって、システムを更新してもよい。
【０３０６】
また、システム構成導出装置９０は、構成要件の入力を受け付ける構成要件受付部と、入力された構成要件を記録する構成要件記録部（例えば、構成要件記録部１６０）とを備えてもよい。
【０３０７】
そのような構成により、システム構成導出装置は、システムの保守作業を自動化できる。
【０３０８】
また、抽象構成情報および具体的なシステム構成情報は、いずれも構成部品をノードとし構成部品間の関係をエッジとするグラフで表現され、具体化規則は、具体化の対象である部分的な抽象構成のグラフと変換後の抽象構成のグラフとで表現され、生成部９２による構成要件の具体化は、グラフ具体化処理でもよい。
【０３０９】
また、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下に限られない。
【０３１０】
（付記１）未確定な部分が含まれているシステムの構成を示す情報である抽象構成情報の前記未確定な部分を確定することによって前記抽象構成情報を具体化する方法が規定された具体化規則を記憶する記憶部と、システムの構成要件に含まれている抽象構成情報を記憶されている具体化規則を用いて具体化することによって前記構成要件を基に前記未確定な部分が含まれていないシステムの構成を示す情報であるシステム構成情報を生成する生成部とを備えることを特徴とするシステム構成導出装置。
【０３１１】
（付記２）具体化規則には、具体化する複数の方法が規定され、前記生成部は、抽象構成情報に前記複数の方法をそれぞれ適用することによって複数のシステム構成情報を生成する付記１記載のシステム構成導出装置。
【０３１２】
（付記３）抽象構成情報は、抽象度が異なる複数の未確定な部分を含み、前記生成部は、構成要件に含まれている抽象構成情報を具体化する操作を前記複数の未確定な部分が全て具体化された時点で停止する付記１または付記２記載のシステム構成導出装置。
【０３１３】
（付記４）抽象構成情報は、システムに課せられた制約条件または前記システムに求められる性質に関する要件を含み、前記生成部は、前記制約条件または前記要件を満たすシステム構成情報を優先的に生成する付記１から付記３のうちのいずれか１項に記載のシステム構成導出装置。
【０３１４】
（付記５）具体化規則は、未確定な部分が具体化された後の構成に関する情報を含み、前記生成部は、前記未確定な部分が具体化された後の構成に前記情報を付加する付記１から付記４のうちのいずれか１項に記載のシステム構成導出装置。
【０３１５】
（付記６）具体化規則には、抽象構成情報の未確定な部分の一部のみを確定することによって前記抽象構成情報を具体化する方法が規定された規則が含まれている付記１から付記５のうちのいずれか１項に記載のシステム構成導出装置。
【０３１６】
（付記７）前記生成部は、システムの構成要件を根とするツリーを用いてシステム構成情報を生成する付記１から付記６のうちのいずれか１項に記載のシステム構成導出装置。
【０３１７】
（付記８）前記生成部は、ツリーで表現されている抽象構成情報の具体化過程を遡ることによってまだ適用されていない方法から具体化する方法を選択する付記７記載のシステム構成導出装置。
【０３１８】
（付記９）前記生成部は、構成要件の具体化過程に関する情報として具体化された未確定な部分と適用された具体化する方法とを出力する付記１から付記８のうちのいずれか１項に記載のシステム構成導出装置。
【０３１９】
（付記１０）抽象構成情報の具体化に関する方針を判断する判断部を備え、前記判断部は、前記具体化に関する方針の判断において前記抽象構成情報の具体化される部分を決定し、決定された部分の具体化に用いられる具体化規則を選択し、前記生成部は、決定された部分を選択された具体化規則を用いて具体化する付記１から付記９のうちのいずれか１項に記載のシステム構成導出装置。
【０３２０】
（付記１１）前記判断部は、所定の判断ルール、または過去の判断の履歴を基に具体化に関する方針を判断する付記１０記載のシステム構成導出装置。
【０３２１】
（付記１２）前記判断部は、外部からの入力を基に具体化に関する方針を判断する付記１０または付記１１記載のシステム構成導出装置。
【０３２２】
（付記１３）分割された複数の抽象構成情報を合成する合成部を備え、前記生成部は、合成された複数の抽象構成情報を具体化する付記１から付記１２のうちのいずれか１項に記載のシステム構成導出装置。
【０３２３】
（付記１４）システム構成情報の形式を変換する変換部を備え、前記変換部は、生成されたシステム構成情報の形式をシステムの配備装置が受け付け可能な形式に変換し、変換されたシステム構成情報を前記配備装置に送信する付記１から付記１３のうちのいずれか１項に記載のシステム構成導出装置。
【０３２４】
（付記１５）システムの構成が構成要件を満たすか否かを確認する確認部を備え、前記確認部は、前記配備装置により配備された現在のシステムの構成が前記構成要件を満たすか否かを確認し、前記構成要件を満たさないシステムの更新要求を前記生成部に入力し、前記生成部は、入力された更新要求を基に前記構成要件を満たすシステム構成情報を生成する付記１４記載のシステム構成導出装置。
【０３２５】
（付記１６）未確定な部分が含まれているシステムの構成を示す情報である抽象構成情報の前記未確定な部分を確定することによって前記抽象構成情報を具体化する方法が規定された具体化規則を記憶部に記憶させ、システムの構成要件に含まれている抽象構成情報を記憶されている具体化規則を用いて具体化することによって前記構成要件を基に前記未確定な部分が含まれていないシステムの構成を示す情報であるシステム構成情報を生成することを特徴とするシステム構成導出方法。
【０３２６】
（付記１７）コンピュータに、未確定な部分が含まれているシステムの構成を示す情報である抽象構成情報の前記未確定な部分を確定することによって前記抽象構成情報を具体化する方法が規定された具体化規則を記憶部に記憶させる記憶処理、およびシステムの構成要件に含まれている抽象構成情報を記憶されている具体化規則を用いて具体化することによって前記構成要件を基に前記未確定な部分が含まれていないシステムの構成を示す情報であるシステム構成情報を生成する生成処理を実行させるためのシステム構成導出プログラム、或いは該プログラムを記録したコンピュータ読み取り可能な記録媒体。
【０３２７】
以上、本実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０３２８】
この出願は、２０１８年５月７日に出願された日本特許出願２０１８−０８９１４５を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０３２９】
９０、１００〜１０４  システム構成導出装置
８１  ＣＰＵ
８２  主記憶部
８３  通信部
８４  補助記憶部
８５  入力部
８６  出力部
８７  システムバス
９１  記憶部
９２  生成部
１１０  構成情報具体化部
１２０  具体化規則記録部
１３０  具体化方針判断部
１４０  要件合成部
１５０  構成情報変換部
１６０  構成要件記録部
１７０  要件確認部
２００  配備装置
３００  監視装置
４００  状態管理装置
【図１】
2019216082.tif 000003
【図２】
2019216082.tif 000004
【図３】
2019216082.tif 000005
【図４】
2019216082.tif 000006
【図５】
2019216082.tif 000007
【図６】
2019216082.tif 000008
【図７】
2019216082.tif 000009
【図８】
2019216082.tif 000010
【図９】
2019216082.tif 000011
【図１０】
2019216082.tif 000012
【図１１】
2019216082.tif 000013
【図１２】
2019216082.tif 000014
【図１３】
2019216082.tif 000015
【図１４】
2019216082.tif 000016
【図１５】
2019216082.tif 000017
【図１６】
2019216082.tif 000018
【図１７】
2019216082.tif 000019
【図１８】
2019216082.tif 000020
【図１９】
2019216082.tif 000021
【図２０】
2019216082.tif 000022
【図２１】
2019216082.tif 000023
【図２２】
2019216082.tif 000024
【図２３】
2019216082.tif 000025
【図２４】
2019216082.tif 000026
【図２５】
2019216082.tif 000027
【図２６】
2019216082.tif 000028
【図２７】
2019216082.tif 000029
【図２８】
2019216082.tif 000030
【図２９】
2019216082.tif 000031
【図３０】
2019216082.tif 000032
【図３１】
2019216082.tif 000033
【図３２】
2019216082.tif 000034
【手続補正書】
【提出日】令和2年10月27日(2020.10.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１７
【補正方法】変更
【補正の内容】
【請求項１７】
コンピュータに、
未確定な部分が含まれているシステムの構成を示す情報である抽象構成情報の前記未確定な部分を確定することによって前記抽象構成情報を具体化する方法が規定された具体化規則を記憶部に記憶させる記憶処理、および
システムの構成要件に含まれている抽象構成情報を記憶されている具体化規則を用いて具体化することによって前記構成要件を基に前記未確定な部分が含まれていないシステムの構成を示す情報であるシステム構成情報を生成する生成処理
を実行させるためのシステム構成導出プログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２９
【補正方法】変更
【補正の内容】
【００２９】
本発明の一実施形態において、システム構成導出プログラムは、コンピュータに、未確定な部分が含まれているシステムの構成を示す情報である抽象構成情報の未確定な部分を確定することによって抽象構成情報を具体化する方法が規定された具体化規則を記憶部に記憶させる記憶処理、およびシステムの構成要件に含まれている抽象構成情報を記憶されている具体化規則を用いて具体化することによって構成要件を基に未確定な部分が含まれていないシステムの構成を示す情報であるシステム構成情報を生成する生成処理を実行させることを特徴とする。
【国際調査報告】
2019216082.tif 000035
2019216082.tif 000036
2019216082.tif 000037
2019216082.tif 000038