(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024177938
(43)【公開日】2024-12-24
(54)【発明の名称】システム設計装置、システム設計方法及びプログラム
(51)【国際特許分類】
G06F 8/10 20180101AFI20241217BHJP
G06F 8/77 20180101ALI20241217BHJP
【FI】
G06F8/10
G06F8/77
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023096358
(22)【出願日】2023-06-12
【国等の委託研究の成果に係る記載事項】(出願人による申告)Beyond 5G研究開発促進事業 委託研究 令和4年度、国立研究開発法人情報通信研究機構、研究開発課題名:「Beyond 5G超高速・大容量ネットワークの自律性・超低消費電力を実現するネットワークサービス基盤技術の研究開発、研究開発項目1 ネットワークサービス基盤技術、副題:超高速・大容量ネットワークの一元的な制御や電源最適化を実現するネットワークサービス基盤技術の研究開発」産業技術力強化法第17条の適用を受ける特許出願
(71)【出願人】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100149548
【弁理士】
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100181135
【弁理士】
【氏名又は名称】橋本 隆史
(72)【発明者】
【氏名】田辺 和輝
(72)【発明者】
【氏名】黒田 貴之
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376BB11
5B376BC03
(57)【要約】
【課題】ICTシステムを設計するにあたり、要件を満足するシステムの論理的な構成および装置の物理的な構成からなる具体構成を生成するシステム設計装置を提供する。
【解決手段】システム設計装置は、入力されたシステムの要件に対して、システムに含まれる抽象的な要素を具体的な構成に変換する具体化手段を要件に反復して適用することでシステムの構成案からなる木構造を生成し、生成された木構造において、より評価値の高い構成案を選択することで探索を行い、すべての要素が具体化された構成案を具体構成として出力する手段と、システムの論理的な構成案の評価値および構成案に含まれる物理的な配置を要する装置のみからなる物理的な構成案の評価値により構成案の評価値を算出する手段と、を備える。
【選択図】
図31
【特許請求の範囲】
【請求項1】
システムの要件を入力とし、システムの具体構成を出力するシステム設計装置であって、
前記システムに含まれる抽象的な要素を具体的な構成に変換する具体化手段を前記要件に反復して適用することで、前記要件を根ノード、前記抽象的な要素を具体化した前記システムの構成案を葉ノードとする木構造を生成し、生成された前記木構造において、より評価値の高い前記構成案を選択することで探索を行い、すべての要素が具体化された前記構成案を具体構成として出力する設計探索手段と、
前記木構造を構成する前記構成案に含まれる、前記システムの論理的な構成案の評価値と、前記構成案に含まれる物理的な配置を要する装置の物理的な構成案の評価値と、により、前記構成案の評価値を算出する構成評価手段と、
を備えるシステム設計装置。
【請求項2】
前記構成案から物理的な配置を要する装置を抽出し、前記装置間の制約を表現する距離制約トポロジを生成する物理構成抽出手段、
をさらに備える請求項1に記載のシステム設計装置。
【請求項3】
前記物理的な配置を要する前記装置間の制約のうち、配置箇所が決定済みの前記装置および配置箇所が未決定の前記装置間の制約から、配置箇所が未決定の前記装置の配置可能領域を生成する配置可能領域生成手段、
をさらに備える請求項1又は請求項2に記載のシステム設計装置。
【請求項4】
前記構成評価手段は、配置箇所が未決定な前記装置の配置可能領域の大きさにより、前記物理的な構成案に対する評価値を算出し、さらに所定の方法によって前記論理的な構成案に対する評価値を算出することで、前記構成案の評価値を算出する、
をさらに備える請求項3に記載のシステム設計装置。
【請求項5】
前記設計探索手段が出力する前記具体構成に含まれる前記物理的な配置を要する前記装置および前記配置可能領域に基づいて配置が決定していない前記装置の配置を決定し、前記装置の配置を含む具体構成を出力する配置決定手段、
をさらに備える請求項4に記載のシステム設計装置。
【請求項6】
前記システムの構成要素および前記構成要素間の関係性の型情報および前記要件に含まれる抽象的な要素を具体的な構成に変換する前記具体化手段を保存する記憶手段、
をさらに備える請求項1又は請求項2に記載のシステム設計装置。
【請求項7】
システムの要件を入力とし、システムの具体構成を出力するシステム設計方法であって、
前記システムに含まれる抽象的な要素を具体的な構成に変換する具体化手段を前記要件に反復して適用することで、前記要件を根ノード、前記抽象的な要素を具体化した前記システムの構成案を葉ノードとする木構造を生成し、生成された前記木構造において、より評価値の高い前記構成案を選択することで探索を行い、すべての要素が具体化された前記構成案を具体構成として出力するステップ、
を有し、
前記出力するステップでは、前記木構造を構成する前記構成案に含まれる、前記システムの論理的な構成案の評価値と、前記構成案に含まれる物理的な配置を要する装置の物理的な構成案の評価値と、により、前記構成案の評価値を算出する、
システム設計方法。
【請求項8】
コンピュータに、
システムの要件を入力とし、システムの具体構成を出力するシステム設計方法であって、
前記システムに含まれる抽象的な要素を具体的な構成に変換する具体化手段を前記要件に反復して適用することで、前記要件を根ノード、前記抽象的な要素を具体化した前記システムの構成案を葉ノードとする木構造を生成し、生成された前記木構造において、より評価値の高い前記構成案を選択することで探索を行い、すべての要素が具体化された前記構成案を具体構成として出力するステップ、
を有し、
前記出力するステップでは、前記木構造を構成する前記構成案に含まれる、前記システムの論理的な構成案の評価値と、前記構成案に含まれる物理的な配置を要する装置の物理的な構成案の評価値と、により、前記構成案の評価値を算出する処理、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、システム設計装置、システム設計方法及びプログラムに関する。
【背景技術】
【0002】
ICT(Information Communication Technology)システムの構築に必要となる工程には、システムに対して求められる要件を満たす具体的なシステム構成を設計する、設計工程が含まれる。設計工程では、アプリケーションやOS(Operation System)およびネットワークなどの、要件を満たす論理的な要素の構成情報(以下、本明細書では論理構成と呼称する。)を設計した後、論理構成中に含まれる、サーバやネットワーク機器、無線端末といった装置の空間的な配置の構成情報を決定し、論理構成および装置の空間的な配置の構成情報の組からなる具体構成を作成する必要がある。このようなシステムの設計の自動化を目的とした技術はこれまでにも検討されてきたが、すべての行程を自動化するには至っていない。なお、以下の本明細書では、システムの論理的な構成情報を論理構成、装置の空間的な配置の構成情報を物理構成と呼称する。
【0003】
特許文献1には、ICTシステムの設計に係る工数的負担の削減を目的とした、機械学習を用いたICTシステムの自動設計技術(学習型システム自動設計技術)について記載されている。この技術では、抽象的なシステムの構成情報(要件)から具体的なシステムの構成情報を生成するにあたり、生成されたシステム構成の案(以下、構成案と呼称する。)および生成過程において適用された具体化手段のそれぞれに対して報酬値を与え、AI(Artificial Intelligence、人工知能)がシステム構成および具体化手段の良し悪しに関して機械学習を行う。これにより、AIが技術者のシステム設計に係る知識(設計知識)を疑似的に獲得可能となり、多種多様な要件に対し設計および報酬値の学習を行うことで、システム構成の設計高速化および高信頼化が可能となる。また、非特許文献1に示す自動設計技術は、特許文献1の学習型システム自動設計技術を発展させ、設計される構成案が機能要件を充足する度合いを表す定量的な値(以下、有望度と呼称する。)と、遅延や帯域、コストといった複数の定量要件に関する定量値の期待値から、設計される構成案の評価値を算出することで、AIが機能面・性能面の両面において構成案の良し悪しを評価することを可能としている。一方、特許文献1および非特許文献1に示す自動設計技術では、ICTシステムの論理構成を生成することが可能であるが、物理構成については人手で調整する必要があり、サーバやネットワーク機器、無線端末といった物理的な装置の空間的配置を含むシステムの構成設計を完全に自動化できていない。
【0004】
特許文献2には、通信要件に対応するネットワークシステムの設定工期の短縮を目的とした、ネットワーク設計支援装置について記載されている。この装置では、ネットワークの抽象的な要件を満たす論理的なネットワーク構成(論理ネットワークと称する。)の設計を行い、既設の物理的なネットワーク構成(物理ネットワークと称する。)に含まれるノードへの資源割り当ておよび、通信経路設計を行う。本装置の導入により、論理ネットワークの設計および構築に係る工期を短縮することが可能となる。一方、特許文献2の技術は、物理ネットワークが事前に設計および構築されていることを前提としており、新規に導入する装置の配置決定や、既設の装置の配置および装置間の配線の変更といった作業は人手により行う必要があるため、物理ネットワークおよび論理ネットワークの両面を含む設計工程は完全には自動化できていない。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特許第6989014号公報
【特許文献2】特開2021-136692号公報
【非特許文献】
【0006】
【非特許文献1】黒田貴之、八鍬豊、田辺和輝、機械学習を用いたネットワークの自動設計技術、電子情報通信学会誌 Vol.105、No.10、pp.1208-1214 2022年10月
【発明の概要】
【発明が解決しようとする課題】
【0007】
上述したように、特許文献1および非特許文献1に示す従来の自動設計技術では、空間的な配置を要する装置を含むシステム構成を設計するにあたって、装置間の配線長、無線接続の有効距離や電波干渉といった距離制約を考慮できておらず、システムの物理構成は人手により決定する必要がある。また、特許文献2に示す従来のネットワーク設計支援装置についても、ネットワークを含むシステムの論理構成が事前に設計されていることを前提としているため、設計工程の全てを自動化するには至っていない。
【0008】
システムの論理構成および物理構成の両面を考慮し、論理構成の設計に加えて距離制約を考慮した装置の配置座標を含む物理構成も自動で決定することで、物理的な装置を含むシステムの設計工程を一貫して自動化する技術が求められる。
【0009】
そこで本発明は、上述の課題を解決するシステム設計装置、システム設計方法及びプログラムを提供することを目的としている。
【課題を解決するための手段】
【0010】
本発明の一態様によれば、システム設計装置は、システムの要件を入力とし、システムの具体構成を出力するシステム設計装置であって、前記システムに含まれる抽象的な要素を具体的な構成に変換する具体化手段を前記要件に反復して適用することで、前記要件を根ノード、前記抽象的な要素を具体化した前記システムの構成案を葉ノードとする木構造を生成し、生成された前記木構造において、より評価値の高い前記構成案を選択することで探索を行い、すべての要素が具体化された前記構成案を具体構成として出力する設計探索手段と、前記木構造を構成する前記構成案に含まれる、前記システムの論理的な構成案の評価値と、前記構成案に含まれる物理的な配置を要する装置の物理的な構成案の評価値と、により、前記構成案の評価値を算出する構成評価手段と、を備える。
【0011】
本発明の一態様によれば、システム設計方法は、システムの要件を入力とし、システムの具体構成を出力するシステム設計方法であって、前記システムに含まれる抽象的な要素を具体的な構成に変換する具体化手段を前記要件に反復して適用することで、前記要件を根ノード、前記抽象的な要素を具体化した前記システムの構成案を葉ノードとする木構造を生成し、生成された前記木構造において、より評価値の高い前記構成案を選択することで探索を行い、すべての要素が具体化された前記構成案を具体構成として出力するステップ、を有し、前記出力するステップでは、前記木構造を構成する前記構成案に含まれる、前記システムの論理的な構成案の評価値と、前記構成案に含まれる物理的な配置を要する装置の物理的な構成案の評価値と、により、前記構成案の評価値を算出する。
【0012】
本発明の一態様によれば、プログラムは、コンピュータに、システムの要件を入力とし、システムの具体構成を出力するシステム設計方法であって、前記システムに含まれる抽象的な要素を具体的な構成に変換する具体化手段を前記要件に反復して適用することで、前記要件を根ノード、前記抽象的な要素を具体化した前記システムの構成案を葉ノードとする木構造を生成し、生成された前記木構造において、より評価値の高い前記構成案を選択することで探索を行い、すべての要素が具体化された前記構成案を具体構成として出力するステップ、を有し、前記出力するステップでは、前記木構造を構成する前記構成案に含まれる、前記システムの論理的な構成案の評価値と、前記構成案に含まれる物理的な配置を要する装置の物理的な構成案の評価値と、により、前記構成案の評価値を算出する処理、
を実行させる。
【発明の効果】
【0013】
本発明によれば、システムの論理構成と物理構成を自動で生成することができる。
【図面の簡単な説明】
【0014】
【
図1】実施形態に係るシステム設計装置の構成例を示すブロック図である。
【
図2】実施形態に係る要件の記述の一例を示す説明図である。
【
図3】実施形態に係る要件の一例を示す説明図である。
【
図4】実施形態に係る具体構成の記述の一例を示す説明図である。
【
図5】実施形態に係る具体構成における論理構成の一例を示す説明図である。
【
図6】実施形態に係る具体構成における物理構成の一例を示す説明図である。
【
図7】実施形態に係る座標平面におけるユークリッド距離d(P1,P2)の一例を示す説明図である。
【
図8】実施形態に係る座標平面におけるマンハッタン距離d(P1,P2)の一例を示す説明図である。
【
図9】実施形態に係る座標空間におけるユークリッド距離d(P1,P2)の一例を示す説明図である。
【
図10】実施形態に係る具体化手段の一例を示す説明図である。
【
図11】実施形態に係る探索木の一例を示す説明図である。
【
図12】実施形態に係る構成要素および関係性の型情報の定義の一例を示す説明図である。
【
図13】実施形態に係る距離制約トポロジの記述の一例を示す説明図である。
【
図14】実施形態に係る距離制約トポロジの一例を示す説明図である。
【
図15】実施形態に係る距離制約の定義の一例を示す説明図である。
【
図16】実施形態に係る距離制約の一例を示す説明図である。
【
図17】実施形態に係る2次元の座標平面における配置可能領域の一例を示す説明図である。
【
図18】実施形態に係る3次元の座標空間における配置可能領域の一例を示す説明図である。
【
図19】実施形態に係る座標平面における配置可能領域の生成過程の一例を示す説明図である。
【
図20】実施形態に係る座標空間における配置可能領域の生成過程の一例を示す説明図である。
【
図21】実施形態に係る構成案の評価値の算出過程の一例を示す説明図である。
【
図22】実施形態に係る配置可能領域が十分大きい場合の、物理構成の評価値の算出過程の一例を示す説明図である。
【
図23】実施形態に係る配置可能領域の生成対象となる構成要素が複数存在場合の、構成案の評価値の算出過程の一例を示す説明図である。
【
図24】実施形態に係る配置決定部による、配置未決定装置の配置座標決定過程の一例を示す説明図である。
【
図25】実施形態に係る配置座標決定過程における、配置未決定装置の仮置きの組み合わせの探索過程の一例を示す説明図である。
【
図26】実施形態に係る格子領域における配置候補座標の一例を示す説明図である。
【
図27】実施形態に係るシステム設計装置のユーザ・インターフェースの一例を示す説明図である。
【
図28】実施形態に係るシステム設計装置の実施形態の動作を示すフローチャートである。
【
図29】実施形態に係る評価値算出フローの動作を示すフローチャートである。
【
図30】実施形態に係る配置座標決定フローの動作を示すフローチャートである。
【
図31】実施形態に係るシステム設計装置の最小構成例を示すブロック図である。
【発明を実施するための形態】
【0015】
以下、本発明の各実施形態に係るシステムの自動設計処理について図面を参照して説明する。以下の説明に用いる図面において本発明に関係ない部分の構成については、記載を省略し、図示しない場合がある。
【0016】
<実施形態>
(構成)
図1は、実施形態に係るシステム設計装置の構成例を示すブロック図である。
図1に示すように、本実施形態のシステム設計装置100は、設計探索部110と、物理構成抽出部120と、配置可能領域生成部130と、構成評価部140と、配置決定部150と、記憶部160を含む。システム設計装置100は、要件200の入力を受けて具体構成300を出力する。
【0017】
システム設計装置100の動作の概略を以下に示す。システム設計装置100は、システムの論理構成に含まれる抽象的な要素を部分的に具体的な構成に置換する具体化手段を入力された要件に対して繰り返し適用することで、探索木と呼ばれるシステムの構成案からなる木構造を生成する。そして、探索木において探索を行い、論理構成における抽象的な要素が完全に具体化された構成案に到達した場合、この構成案を具体構成の候補として選択する。さらに、選択した構成案に含まれる、空間的な配置を要する構成要素の配置座標を決定することで物理構成を生成し、論理構成および物理構成の組からなる具体構成を出力する。
【0018】
システム設計装置100は、探索木において構成案の探索を行うにあたり、構成案の論理構成および物理構成のそれぞれについて、構成の良し悪しを定量的に数値化した評価値を算出し、論理構成の評価値および物理構成の評価値の2値から構成案の総合的な評価値を算出し、探索における構成案の良し悪しを判断する基準として用いる。論理構成の評価値は、特許文献1または非特許文献1に示す、システムの構成の良し悪しを学習したAIにより算出されてもよい。物理構成の評価値の算出にあたっては、距離制約トポロジと呼ばれる、空間的な配置を要する構成要素および構成要素間の距離制約を表すグラフ構造を構成案の論理構成から生成し、座標系における配置座標が未決定となっている構成要素(以下、配置未決定装置と呼ぶ。)配置座標が既に決定している構成要素(以下、配置決定済装置と呼ぶ。)との間の距離制約を満足しつつ配置可能な領域(以下、配置可能領域と呼ぶ。)の大きさを定量化した数値を評価値として用いてもよい。
なお、本実施形態において構成要素の配置対象として扱う座標系は、平面を表す2次元座標および、立体空間を表す3次元座標のいずれであってもよい。以下の説明では、特段の言及のない限り、2次元の座標平面を対象の座標系として扱う。
【0019】
次に、システム設計装置100の各機能部および、システム設計装置100の入出力データ構造の概要について説明する。
設計探索部110は、入力された要件の抽象的な要素を具体化し、構成案の木構造である探索木を生成する。そして設計探索部110は、探索木において探索を行い、論理構成において抽象的な要素が完全に具体化されている構成案に到達した場合、構成案を選択し出力する。設計探索部110は、探索の過程では、構成評価部140により算出された構成案の評価値を構成案の選択基準として用い、より評価値の高い構成案を選択するよう探索を行う。
【0020】
物理構成抽出部120は、構成案を入力として受け付け、空間的な配置を要する装置を表す構成要素を構成案から抽出することで距離制約トポロジを生成する。
配置可能領域生成部130は、距離制約トポロジを入力として受け付け、空間的な配置を要する装置のうち、配置未決定装置に相当する構成要素の配置可能領域を生成する。
構成評価部140は、配置可能領域生成部130から出力された配置未決定装置の配置可能領域を入力として受け付け、構成案の評価値を算出する。
配置決定部150は、構成案および、距離制約トポロジおよび配置可能領域の組を入力として受け付け、空間的配置を要する装置を表す構成要素の配置座標を決定した物理構成を生成し、論理構成および物理構成を併せて具体構成として出力する。
記憶部160には、システムの構成要素および構成要素間の関係性の型情報と、設計具体化のための具体化手段が記録されている。
要件200は、ユーザがシステムに求める抽象的な要求を表現した情報である。
具体構成300は、要件200を満足するシステムの具体構成を定義した情報である。
【0021】
次に、本発明で扱うデータ構造の概要について説明する。
図2に、要件200の定義の一例を示す。要件の定義には、アプリケーションや装置等のユーザがシステムに求める構成要素および、構成要素間の抽象的な関係性が含まれている。また、
図3は、
図2に示す要件を図で表現した説明図である。
図2に示す要件の定義データは、システムの構成要素の定義を表す「components」と、構成要素間の関係性について定義する「relationships」の2つのフィールドから構成される。
図3等に示すグラフ構造では、「components」が丸で表されたノード、「relationships」が実線の矢印のエッジ、「requirements」が破線の矢印のエッジおよび吹き出しにそれぞれ対応する。「components」に記載される構成要素の定義には、構成要素の型に関する情報「type」に加え、属性値に関する情報「properties」、および既に配置箇所が決まっている装置の配置座標に関する情報「location」を含んでもよい。「relationships」に記載される関係性の定義は、関係性の要求元となる構成要素、関係性の要求先となる構成要素、および関係性の型情報の3つの情報の組からなるリストにより定義される。例えば、関係性「[camera1, bs3, connTo]」は、Webカメラを表す構成要素「camera1」が基地局を表す構成要素「bs3」に対し、何らかの手段で接続していることを表す。「location」に記載される配置座標の定義は、2次元平面におけるx軸座標の値「x」、y軸座標の値「y」の2値により定義されてもよい。また、本発明が3次元の空間座標を対象とする場合、x軸座標の値「x」、y軸座標の値「y」、z軸座標の値「z」の3値により定義されてもよい。
【0022】
図2および
図3の要件は、無線通信を用いた映像配信システムの要件を表したものであり、既存の携帯電話基地局「bs1」「bs2」が設置されている拠点において、2台のWebカメラ「camera1」および「camera2」が新設される基地局「bs3」に対し無線により接続し、同基地局に近い箇所で動作するクライアントアプリケーション「client1」がWebカメラ2台で撮影された映像を基地局「bs3」を通じてインターネットを経由し、サーバアプリケーション「server1」に映像データを送信する。クライアントアプリケーション「client1」では、プロパティ「format」に指定された映像フォーマット、およびプロパティ「fps」に指定されたフレームレートに映像を圧縮して送信する。
図2および
図3の要件では、映像フォーマットをMPEG-4形式(mp4)に、フレームレートを15fps(フレーム毎秒)とすることが指定されている。サーバアプリケーション「server1」は、受信した映像データの分析・保存を行う。
【0023】
図4に、具体構成300の定義の一例を示す。具体構成300の定義には、要件を満足するシステムの構成要素および構成要素間の関係性からなる論理構成と、構成要素のうち物理的な配置を要する装置の配置座標情報からなる物理構成が含まれている。
図5には、
図4に示す具体構成300の論理構成を示し、
図6には物理構成を図示する。
【0024】
図4から
図6に示す具体構成は、
図2および
図3に示す要件を基に設計されたシステムの構成情報の一例であり、
図5に例示する論理構成では
図2および
図3の要件で定義された構成要素に加え、クライアントアプリケーション「client1」が動作するOSとしてUbuntu(登録商標) Linux(登録商標) OSを使用していることを表すubuntu型構成要素「os1」と、同OSが動作する物理マシンを表すphysicalmachine型構成要素「machine1」、同様にサーバアプリケーション「server1」が動作するOSを表すubuntu型構成要素「os2」、および仮想マシンを表すvirtualmachine型構成要素「machine2」、そして仮想マシンを提供するクラウド環境を表すcloud型構成要素「cloud1」が追加されている。また、アプリケーションとOSの間、およびOSと仮想マシンまたは物理マシンの間は、それぞれ具体的なホスト関係を表す「wire:OS」型、および「wire:Machine」型の関係性により接続されており、その他の構成要素間は直接的な通信の接続関係を表す「access」型構成要素により接続されている。OSを表す構成要素「os1」、「os2」にはそれぞれ、Ubuntu(登録商標) Linux(登録商標) OSのバージョン指定を表すプロパティ「version」に「20.04」が定義されている。
【0025】
一方、
図6に示す物理構成では、
図5の論理構成に含まれる構成要素のうち、要素名に下線を付した、配置を要する装置を表す構成要素に対し、後述する装置間の距離制約を満足する各装置の配置座標がそれぞれ定義されている。
図6の例では、要件において配置座標を既に指定されている構成要素「camera1」「camera2」「bs1」「bs2」に加え、配置座標が未決定となっていた構成要素「bs3」、および具体構成設計の過程で新たに追加された装置の構成要素「machine1」が、座標平面上に配置されている。また、座標平面には、後述する構成要素の配置可能領域の生成処理および、構成案における物理構成の評価値の算出に用いるための格子領域が設定されている。本明細書の説明では1辺の大きさが5となる格子領域を用いているが、格子領域の1辺の大きさにはその他の値も設定可能あり、これに限定されない。
【0026】
なお、本明細書の説明で用いる2次元の座標平面上における距離の一例として、
図7および以下の式(1)に図示したユークリッド距離(L2距離)を用いるが、本発明装置は
図8および以下の式(2)に図示したマンハッタン距離(L1距離)に代表されるその他の距離についても適用できるものであり、距離の定義はユークリッド距離に限定されない。
【0027】
【0028】
d(P1,P2)=|x2-x1|+|y2-y1| …(2)
【0029】
また、本発明が3次元の座標空間を対象とする場合の距離の一例として、
図9および以下の式(3)に図示したユークリッド距離(L2距離)を用いるが、その他の距離の定義についても適用できるものであり、距離の定義はユークリッド距離に限定されない。
【0030】
【0031】
図10に、具体化手段の一例を図示する。具体化手段は、構成案のうち、抽象的な要素を含む部分的な構成を具体的な構成に置換する手段を定義した情報であり、具体化手段適用前の部分的な構成および適用後の部分的な構成の組により定義される。
図10(a)の具体化手段は、アプリケーションを示すapp型構成要素に対し、OSを表すos型構成要素を追加し、両者の間をwire:OS型の具体的な関係性で接続することで、アプリケーションが動作するOSを追加することを意味している。
図10(b)の具体化手段および
図10(c)はそれぞれ、抽象的なOSを表しているos型要素を、Ubuntu(登録商標) Linux(登録商標) OSを表すubuntu型、またはWindows(登録商標) OSを表すwindows型に変換する手段を表し、
図10(a)を含む具体化手段により追加された抽象的なOSの種別を具体化することを意味している。
図10(d)の具体化手段は、2つのアプリケーション「app1」および「app2」の間の抽象的なHTTP(Hyper Text Transfer Protocol)通信を表す「HTTP」型関係性を、両アプリケーションが動作するOS間のTCP(Transmission Contorol Protocol)通信に置換することで、抽象的な通信関係を一段階具体化することを意味している。
【0032】
図11に、探索木の一例を図示する。探索木は、設計探索部110で要件から具体構成を生成する過程で生成されるものであり、要件を根ノードとする木構造のグラフとして表現される。各ノードはシステムの構成案を表し、設計途中の構成案も含む。探索木における具体構成の探索過程では、具体化途中の構成案を表すノードに対し、適用可能な具体化手段を1つ適用し、抽象的な要素が部分的に具体化された構成案を次の状態を表すノードとして生成し、生成された複数のノードのうち、構成案の評価値がより大きいノードをより具体構成に近い妥当な構成案と判断し、次のノードとして選択する。
【0033】
図12に、システムの構成要素の型情報の定義の一例を図示する。型情報の定義には、構成要素を表す「components」と、関係性を表す「relationships」のフィールドから構成される。型情報は、親クラスとなる型を継承する子クラスの型の定義も可能であり、各項目には型名を表す「type」フィールド、型が表す構成要素または関係性が抽象的であることを表すフラグである「abstract」フィールド、継承元の親クラスの型を表す「parent」フィールドが定義されている。また、構成要素の定義では、構成要素が物理的な配置を要する装置であるか、配置を要さない論理的なコンポーネントであるかを識別する分類を表す「category」フィールドが定義され、値が「physical」である場合物理的な構成要素、値が「logical」である場合論理的な構成要素であることを表す。
【0034】
図13に、距離制約トポロジの定義の一例を図示する。
図14に、
図13にて定義される距離制約トポロジを視覚的表した図を示す。距離制約トポロジは、物理的な配置を要する装置の構成要素をノードとし、構成要素間の距離制約をエッジとして表現したグラフであり、配置座標が決定している装置(以下、配置決定済装置と呼ぶ。)と、配置座標配置未決定装置を区別して扱う。距離制約トポロジに含まれる構成要素のうち、配置決定済装置の構成要素に隣接する配置未決定装置の構成要素を配置可能領域生成部130における配置可能領域の生成対象の構成要素とする。
【0035】
図13に示すように、距離制約トポロジの定義は、配置を要する装置を表す構成要素を定義する「components」と、装置間の距離制約を定義する「distance_constraints」の2つのフィールドから構成され、「components」の定義については、
図2および
図4に示す要件および具体構成の定義と同等の記法を用いてもよい。また、「distance_constraints」に定義される距離制約の定義情報は、「components」に定義された、距離制約の対象となる2つの構成要素名、距離制約の種別、構成要素間で満たされるべき距離の上限値または下限値、の4値の組からなる。
図13の例では、距離制約「[camera1, bs3, max, 10]」は、Webカメラ「camera1」および基地局「bs3」の間の距離が10以内であることを意味しており、距離制約の種別には距離の上限値を定義することを表す「max」が、上限値の値には「10」が格納されている。同様に、距離制約「[bs1, bs3, min, 5]」は、基地局「bs1」および基地局「bs3」の間の距離が5より大きいことを意味しており、距離制約の種別には距離の下限値を定義することを表す「min」が、下限値の値には「5」が格納されている。
【0036】
図15に、距離制約の定義の一例を図示する。
図16に、
図15に示す距離制約を視覚的に表した図を示す。
図15および
図16に付した記号(a)~(c)はそれぞれ同一の距離制約を表している。距離制約の定義は、距離制約の種別、距離制約により満たされるべき距離の上限値または下限値、距離制約の対象となる2つの構成要素の型の組により定義される。
図15に定義された距離制約(a)は、携帯電話基地局を設置するにあたって基地局間の干渉を防ぐために一定以上の距離を確保しなければならないことを意味しており、距離制約の種別を定義する「type」フィールドには、距離の下限値を設定することを表す「min」、制約の下限値または上限値を定義する「value」フィールドには距離の下限値である「5」、制約の対象となる構成要素の型の組を表す「components」フィールドには「basestation」型および「basestation」型の組が、それぞれ格納されている。
【0037】
図17に、2次元の座標平面における配置可能領域の一例を図示する。配置可能領域は、座標平面のうち、配置未決定装置を表す構成要素が配置可能な格子領域を表したもので、
図17に示す配置可能領域は、
図13および
図14に示す距離制約トポロジにおける、構成要素「bs3」の配置可能領域を表している。
【0038】
図18に、3次元の座標空間における配置可能領域の一例を図示する。
図18に示す配置可能領域は、
図17の例と同様の装置構成からなるシステムにおける物理構成において、構成要素「bs1」が座標(10, 5, 0)、構成要素「bs2」が座標(25, 5, 0)、構成要素「camera1」が座標(10, 25, 10)、構成要素「camera2」が座標(25, 25, 10)に配置されている場合の、構成要素「bs3」が配置可能な立方格子領域を表したものである。
【0039】
(詳細な説明)
次に、システム設計装置100の各機能部の動作について図を用いて詳細に説明する。
設計探索部110は、システム設計装置100に入力された要件200に対して適用可能な具体化手段を記憶部160より参照し、適用可能な具体化手段の1つ1つを要件に適用し、探索木と呼ばれる、要件を根ノードとし、具体化途中の構成案をノードとする木構造を生成する。そして、生成された探索木において具体構成となる葉ノードの探索を行う。探索過程では、現在のノードに適用可能な具体化手段を適用して生成されたノードの1つ1つを構成案として物理構成抽出部120に入力する。
【0040】
設計探索部110の探索処理について、
図11に示す探索木および具体化手段を用いて説明する。ここの説明で用いる(a)、(a1)、・・・、(X)、(Y)、(Z)などの符号は全て
図11内に記載された符号と対応する。
図11の例では、要件(a)を始点として探索処理を開始し、要件(a)に含まれる抽象的な関係性(a1)に具体化手段(Z)が、抽象的な構成要素(a2)に具体化手段(X)または(Y)がそれぞれ適用可能であり、具体化手段(X)を適用したものを構成案(b)、具体化手段(Y)を適用したものを構成案(c)、具体化手段(Z)を適用したものを構成案(d)としてそれぞれ生成する。このとき、適用可能な具体化手段が存在しない構成案(b)および(c)は設計の具体化が不可能な状態であるとして棄却され、構成案(d)を次のノードとして選択する。同様に、構成案(d)の構成要素(d1)に具体化手段(X)を適用して構成案(e)を、具体化手段(Y)を適用して構成案(f)をそれぞれ生成し、構成案の評価値がもっとも大きい(e)が、具体化が完了した論理構成として出力される。
【0041】
物理構成抽出部120は、設計探索部110から出力される構成案を入力として受け付け、配置を要する装置を表す構成要素を構成案から抽出し、抽出した構成要素により構成される距離制約トポロジを出力する。物理構成抽出部120による距離制約トポロジの生成処理の一例を、
図13および
図14の例を用いて次に示す。物理構成抽出部120は、入力される構成案に定義された構成要素の型情報(例えば、
図12)を参照し、構成要素の型定義の「category」フィールドの値が「physical」であるものを抽出することで距離制約トポロジの「components」フィールドを生成する。そして、構成要素の型情報および距離制約の定義情報(例えば、
図15)を参照し、各距離制約の「components」フィールドに定義された構成要素の型の組に一致する構成要素の組み合わせが構成案に存在する場合、該当する2つの構成要素名、距離制約の「type」に指定された距離制約の種別、距離制約の「value」に定義された値の4値の組を距離制約のリストに追加する。距離制約を生成可能な全ての構成要素の組についてこれを繰り返し、距離制約のリストの内容から構成案の「distance_constraints」フィールドを生成する。
【0042】
配置可能領域生成部130は、物理構成抽出部120から出力された距離制約トポロジを入力として受け付け、空間的な配置を要する装置のうち、配置座標が未決定の装置(以下、配置未決定装置と呼称する。)の配置可能領域を出力する。
【0043】
配置可能領域は、構成評価部140において構成案における物理構成の評価値を算出するために用いるものであり、距離制約トポロジにおいて配置可能領域の生成対象となった構成要素の各々に対し、距離制約トポロジ上で隣接する配置決定済装置との距離制約を満たす共通領域を導出し、共通領域が含まれる格子領域を配置可能領域として出力する。
【0044】
図17に、配置可能領域生成部130により生成される、2次元平面を対象とした配置可能領域の一例および配置可能領域の生成手段の概略を図示する。
図17の例では、
図13および
図14に距離制約トポロジを示す構成案の物理構成において、配置可能領域の生成対象である基地局を表す構成要素「bs3」に対し、距離制約トポロジ上で隣接する装置である構成要素との距離制約を満足する領域はそれぞれ、以下の不等式(4)~(7)で与えられる。
【0045】
「camera1」-「bs3」間:(x-10)2+(y-25)2<102 ・・・(4)
「camera2」-「bs3」間:(x-25)2+(y-25)2<102 ・・・(5)
「bs1」-「bs3」間:(x-10)2+(y-5)2<52 ・・・(6)
「bs2」-「bs3」間:(x-25)2+(y-5)2<52 ・・・(7)
【0046】
これらの共通領域は、
図17の座標平面上の網掛けで示す領域で表され、共通領域が含まれる格子領域を「bs3」の配置可能領域として出力する。
また、
図18の例は、3次元空間を対象とした配置可能領域の一例である。
図18の例では、
図13および
図14に示す距離制約トポロジと同等の構成要素からなる物理構成において、「camera1」が座標(10,25,10)、「camera2」が座標(25,25,10)、「bs1」が座標(10,5,0)、「bs2」が座標(25,5,0)にそれぞれ配置されている場合の、basestation型構成要素「bs3」の配置可能領域の導出過程を示している。「bs3」とその他の構成要素との距離制約を満足する領域はそれぞれ、以下の不等式(8)~(11)で与えられ、これらの共通領域が含まれる格子領域を「bs3」の配置可能領域として出力する。
【0047】
「camera1」-「bs3」間:
(x-10)2+(y-25)2+(z-10)2<102 ・・・(8)
「camera2」-「bs3」間:
(x-25)2+(y-25)2+(z-10)2<102 ・・・(9)
「bs1」-「bs3」間:(x-10)2+(y-5)2+z2<52 ・・・(10)
「bs2」-「bs3」間:(x-25)2+(y-5)2+z2<52 ・・・(11)
【0048】
構成評価部140は、配置可能領域生成部130から出力された配置未決定装置の配置可能領域を入力として受け付け、構成案の評価値を算出し、構成案と併せて出力する。
【0049】
図19に、構成評価部140における構成案の評価値の算出過程の一例として、
図4に示す論理構成および、
図12および
図13に距離制約トポロジを示す物理構成を有する構成案に対する評価値の算出過程を図示する。構成評価部140では、構成案における論理構成、物理構成のそれぞれに対して評価値を算出し、重みによる線形加重和を取ることにより構成案の評価値を算出する。
【0050】
論理構成の評価値は、論理構成中の構成要素および関係性の総数に占める、具体化されている(すなわち、抽象的でない)構成要素および関係性の総数の割合を評価値とする手段や、非特許文献1に記載の技術で用いられる、事前に多種多様な要件の設計過程を学習したグラフニューラルネットワーク(GNN)により算出される、構成案における論理構成が具体的な論理構成に到達できる見込みを数値化した有望度を評価値とする手段により算出可能である。なお、前述の算出手段は一例であり、これに限定されない。
【0051】
また、物理構成の評価値は、
図17に示す座標平面のうち、配置可能領域が占める格子領域の数を評価値として算出する手段や、座標平面のうち、配置可能領域の面積を評価値として算出する手段により算出可能である。3次元空間を対象とする場合、
図18に示す座標空間のうち、配置可能領域が占める格子領域の数を評価値として算出する手段や、配置可能領域の体積を評価値として算出する手段により算出可能である。配置可能領域が占める格子領域の数を評価値として算出する場合、
図17の座標平面における物理構成の評価値は4、
図18の座標空間における物理構成の評価値は12とそれぞれ算出される(
図20)。なお、前述の算出手段は一例であり、これに限定されない。
【0052】
図21の例に示すように、論理構成および物理構成それぞれの評価値の算出後、重みによる加重平均値を取ることで構成案の評価値を算出する。
図21の例では、論理構成の評価値が0.9、物理構成の評価値が4と算出された場合、評価値の重みとして「論理構成:物理構成=4:6」を用いた加重平均値である2.76が構成案の評価値として出力される。なお、評価値の重みは、事前に発明装置により固定した値を用いるか、要件においてユーザが指定した値を用いてもよい。なお、配置可能領域が十分大きく、物理構成の評価値が無限大に発散する場合は、予め設定された上限値を物理構成の評価値とする。例えば、
図22に図示するように、物理構成の評価値の上限値を100と設定しておき、配置可能領域に含まれる格子領域数が上限値を上回る場合、物理構成の評価値を100と出力してもよい。
【0053】
図23は、距離制約トポロジにおいて配置可能領域の生成対象となる構成要素が複数存在する場合の、配置可能領域生成部130および構成評価部140の動作の概略を図示したものである。配置可能領域生成部130は、生成対象の構成要素の1つ1つに対し、配置決定済装置を表す構成要素との配置可能領域を生成し、構成評価部140は、配置可能領域の1つ1つに対する物理構成の評価値を独立に算出し、各評価値の、配置可能領域の生成対象となる構成要素に定義された重みによる加重平均値を総合的な物理構成の評価値として出力する。構成要素の重みは、事前にユーザにより要件に定義されていてもよく、重みが定義されていない場合は単純平均値を出力してもよい。
図23の例では、配置可能領域の生成対象として、基地局を表すbasestation型構成要素「bs3」と、無線通信により制御可能なロボットを表すrobot型構成要素「robot1」の2つが含まれている。配置可能領域生成部130は、
図23の左下部の座標平面に記載のように各構成要素の配置可能領域を生成し、構成評価部140は構成要素「bs3」に対する物理構成の評価値は4、構成要素「robot1」に対する物理構成の評価値を2と算出する。そして、両者の重みを用いた加重平均値である3.6が構成案における物理構成の評価値として出力される。
【0054】
更に、設計探索部110は、構成評価部140より複数回入力された構成案と構成案の評価値の組に対し、評価値が最も高い値を持つ構成案を次のノードとして選択し、現在のノードを選択したノードにより更新する。また、設計探索部110は、更新したノードが表す構成案の論理構成が完全に具体化されているか否かを判定し、論理構成が完全に具体化されている場合は、構成案と、物理構成抽出部120で生成された距離制約トポロジと、配置可能領域生成部130で生成された配置可能領域と、の3点の組を配置決定部150に入力する。
【0055】
配置決定部150は、設計探索部110で論理構成の生成が完了したと判断され出力された構成案、距離制約トポロジおよび配置可能領域の組を入力として受け付け、すべての装置を表す構成要素の配置座標が決定された物理構成および、論理構成の組を具体構成として出力する。なお、すべての配置未決定装置が距離制約を満たす配置座標が存在しない場合は、構成案を棄却し、設計探索部110における構成案の探索に戻る。
【0056】
図24に、配置決定部150による配置座標決定処理の概略を図示する。物理構成に含まれる配置未決定装置を表す構成要素の配置決定は、物理構成抽出部120において距離制約トポロジを基に決定された配置決定順に行う。
図24に示す内容は、
図13および
図14に距離制約トポロジを示す物理構成の配置座標決定の過程を表し、構成要素「bs3」、「machine1」の順に配置を決定する。まず、配置決定順が1番目の装置(以下、「1個目の装置」と呼ぶ)の配置可能領域が含む格子領域のうち1つを選択し、仮置きを行う(
図24の(a))。次に、配置決定順が2番目の装置(以下、「2個目」の装置と呼ぶ)と、1個目の装置および配置決定済装置との距離制約から、配置可能領域を生成する(
図24の(b))。そして、2個目の装置の配置可能領域が含む格子領域のうち1つを選択し、2個目の装置の仮置きを行う(
図24の(c))。以下同様の処理を全ての配置未決定装置に対して行い、全ての装置の仮置きが完了した場合、各装置が配置される格子領域を確定し、格子領域内における各装置の詳細な座標を決定して物理構成を出力する。
【0057】
なお、装置の仮置きの途中過程で、配置可能領域が存在しない場合は、
図25に示すように配置決定順が1つ前の装置の仮置きをやり直し、すべての装置の仮置きが完了するまで装置の仮置きと配置可能領域の生成処理を繰り返す。距離制約トポロジで定められた配置決定順に従ってn-1個目の装置までの仮置きが完了し、n個目の配置可能領域を生成するにあたり、距離制約を満たす領域が存在せず配置可能領域が存在しない場合(
図25の(a))、n-1個目の装置の異なる仮置きパターンを選択し(
図25の(b))、新たにn個目の装置の配置可能領域を生成することが可能であれば、配置可能領域が含む格子領域を1つ選択し、仮置きを完了する(
図25の(c))。
【0058】
図26に、構成要素の配置対象となる格子領域決定後の、配置座標の決定手段の一例を図示する。各格子領域内には、優先順位が規定された複数の配置候補座標が予め定義されており、格子領域内に配置される配置未決定装置の数に応じて、距離制約トポロジで定められた配置決定順に従い優先順位順に座標を決定する。
図26の例では、1辺の大きさが5である格子領域に対し、格子領域の1辺を更に4等分する補助線の交点となる、以下の候補座標が定義されている(以下の“候補”の後の数字は
図26の丸の中の数字に対応している。)。候補1:(a+2.5, b+2.5)、候補2:(a+2.5, b+3.75)、候補3:(a+3.75, b+2.5)、候補4:(a+2.5, b+1.25)、候補5:(a+1.25, b+2.5)、候補6:(a+3.75, b+3.75)、候補7:(a+3.75, b+1.25)、候補8:(a+1.25, b+1.25)、候補9:(a+1.25, b+3.75)。なお、配置座標の決定手段はあくまで一例であり、
図26の例に限定されない。
【0059】
図27は、本実施形態に係る画面表示の一例を表す図である。この画面表示G1は、システム設計装置100のユーザ・インターフェース(Graphical User Interface: GUI)である。ユーザは、例えばシステム設計を行う設計者である。画面表示G1は、構成要素のライブラリG2と、要件の入力フォームG3、設計結果となる具体構成の出力フォームG4、設計ボタンG5、要件および具体構成中の構成要素および関係性、および物理構成における配置座標に関する情報を表示するサブウインドウG6から構成される。要件の入力フォームG3は論理構成の入力フォームG7および物理構成の入力フォームG8により構成され、具体構成の出力フォームG4も同様に論理構成の出力フォームG9および物理構成の出力フォームG10により構成される。サブウインドウG6には、要件の入力フォームG3または具体構成の出力フォームG4において選択した要素のidが「id」フィールドに表示され、「type」フィールドには選択した要素の型名が表示されている。「category」フィールドには、選択した要素が論理的な要素であることを表す「logical」、または物理的な要素であることを表す「physical」のいずれかの文字列が表示される。「resolved」フィールドには、の設計過程で具体的な構成に置換済みであり、実際の構成には存在しないものであることを表すフラグである。「properties」フィールドには、選択した要素の属性値の情報が表示され、「distance_constraints」フィールドには、選択した要素と他の要素との間に定義された距離制約の情報が表示される。構成要素のライブラリG2には、記憶部160に定義されたシステムの構成要素の型が、App(アプリケーション)やOS等のカテゴリ別に並べられており、ユーザはこのライブラリから構成要素のノードを論理構成の入力フォームG7に配置し、ノード間を関係性のエッジにより接続することで要件の論理構成のグラフ構造を作成可能である。また、要件に配置座標が決定済の構成要素が含まれる場合、論理構成の入力フォームG7において当該構成要素を選択し、サブウインドウG6の「location」フィールドに座標情報を入力するか、物理構成の入力フォームG8上で構成要素の位置を移動させることで配置座標を定義することが可能である。入力フォームG3に要件を入力後、設計ボタンG4を押下すると、システム設計装置100により設計された具体構成の論理構成が論理構成の出力フォームG9に、具体構成の物理構成が物理構成の出力フォームG10に、それぞれ表示される。入力フォームG3に表示される要件および、出力フォームG5に表示される構成案のグラフ構造のノード(構成要素)またはエッジ(関係性)を選択すると、サブウインドウG6に選択した構成要素または関係性の詳細情報が表示される。
図27の例は、
図2および
図3に示す要件を設計し、
図4から
図6に示す具体構成が出力された場合の画面表示を表しており、具体構成における構成要素「bs3」を選択し、サブウインドウG6には同構成要素のid、型情報、配置座標および距離制約等の情報が表示されている。
【0060】
(動作)
次に、
図28のフローチャートを参照して本実施形態の全体の動作について詳細に説明する。
まず、要件の情報が設計探索部に入力される。設計探索部110は、入力された要件の情報を現在の構成案に代入する(ステップS101)。次に設計探索部110は、記憶部160から具体化手段を参照し、現在の構成案に適用可能な具体化手段が存在するか判定を行う(ステップS102)。適用可能な具体化手段が存在しない場合(ステップS102のNo)、具体構成の設計に失敗したと判断し、動作を終了する。適用可能な具体化手段が存在する場合(ステップS102のYes)、設計探索部110は、現在の構成案に具体化手段を1つ1つ適用した構成案により、構成案の候補リストを生成する(ステップS103)。そして、設計探索部110は、構成案の候補リストに含まれる構成案の1つ1つに対し、価値算出フローの処理を実行する。価値算出フローは、構成案を入力として受け取り、構成案の評価値を出力する(ステップS105)。
【0061】
構成案の候補リストに含まれる構成案に対する価値算出フローの処理終了後、設計探索部110は、構成案の候補リストから評価値が最も高い構成案を取り出し、現在の構成案に代入する(ステップS106)。そして、設計探索部110は、現在の構成案に対し、論理構成の具体化が完了しているか判定を行う(ステップS107)。具体化が完了していない場合(ステップS107のNo)、現在の構成案に対して更なる具体化手段の適用が必要と判断し、ステップS102に戻る。具体化が完了している場合(ステップS107のYes)、配置座標決定フローの処理を実行する(ステップS108)。配置座標決定フローでは、構成案、距離制約トポロジ、配置可能領域を受け取り、具体構成を出力する。
【0062】
配置座標決定フローの処理終了後、配置決定部150は、物理構成における全ての配置未決定装置の配置座標が決定していることを判定し(ステップS109)、決定していない場合(ステップS109のNo)、論理構成に関する再設計が必要と判断し、ステップS102に戻る。決定している場合(ステップS109のYes)、配置決定部150は、物理構成についても設計が完了したと判断し、物理構成および論理構成を併せて具体構成を生成し、出力する(ステップS110)。
【0063】
次に評価値算出フロー(ステップS105)の詳細について
図29を用いて説明する。
物理構成抽出部120は、評価値算出フローに入力された構成案を参照し、構成要素の型情報に基づいて物理的な配置を要する構成要素を抽出し、距離制約の定義情報を基に距離制約トポロジを生成し(ステップS111)、配置可能領域生成部130に入力する。また、物理構成抽出部120は、距離制約トポロジに基づいて、配置決定部150における配置未決定装置の配置決定順を決定する(ステップS112)。例えば、物理構成抽出部120は、距離制約トポロジにおける配置決定済装置を表す構成要素からのホップ数の小さい順に配置決定順を決定する。例えば、
図13、
図14の例の場合、物理構成抽出部120は、
図5等に基づいて、配置未決定装置(bs3、machine1)の配置決定済装置(camera1、camera2、bs1、bs2)からのホップ数を算出し、ホップ数の小さいbs3の配置を先に決定し、その後にmachine1の配置を決定することを算出する。次に、配置可能領域生成部130は、距離制約トポロジにおいて配置決定済装置の構成要素に隣接する構成要素を、配置可能領域の生成対象として抽出する(ステップS113)。そして、配置可能領域生成部130は、配置可能領域の生成対象となる各構成要素に対して、距離制約トポロジにおいて隣接する配置決定済装置との距離制約から座標平面上の共通範囲を算出することにより、配置可能領域を生成し(ステップS114)、構成案と併せて構成評価部140に入力する。構成評価部140は、入力された構成案および配置可能領域から、構成案における論理構成および物理構成の評価値をそれぞれ算出する(ステップ115)。そして、構成評価部140は、論理構成および物理構成の評価値の重みによる加重平均により、構成案の評価値を算出して出力する(ステップS116)。
【0064】
次に配置座標決定フロー(ステップS108)の詳細について
図30を用いて説明する。
配置決定部150は、物理構成抽出部120で決定された構成要素の配置決定順に従い、仮置き対象となる構成要素を1つ選択する(ステップS121)。選択した構成要素を配置可能な格子領域が存在する場合(ステップS122のYes)、構成要素を仮置きする格子領域を1つ選択し決定する(ステップS123)。配置可能な格子領域が存在しない場合(ステップS122のNo)、最後に行った構成要素の仮置きを取り消し(ステップS126)、未試行の仮置きのパターンが存在するか判定を行う(ステップS127)。未試行のパターンが存在する場合(ステップS127のYes)、ステップS122に戻り、構成要素の仮置きの試行を継続する。未試行のパターンが存在しない場合(ステップS127のNo)、構成案の物理構成において配置未決定装置の配置座標決定が不可能と判断し、配置座標決定フローの動作を終了する。
【0065】
配置決定部150は、ステップS123の実行後、構成案の物理構成中に仮置きする格子領域が未決定の構成要素が存在するか、判定を行う(ステップS124)。仮置きする格子領域が未決定の構成要素が存在する場合(ステップS124のYes)、配置決定順に従い、次の仮置き対象となる構成要素を1つ選択する(ステップS128)。そして、距離制約トポロジおよび仮置きされた構成要素の情報を基に選択された構成要素の配置可能領域を生成し(ステップS129)、ステップS122に戻る。構成案の物理構成中に仮置きする格子領域が未決定の構成要素が存在しない、すなわちすべての構成要素の仮置きが完了した場合(ステップS124のNo)、配置決定部150は、配置未決定装置の各構成要素に対し、仮置きを行った格子領域に含まれる配置座標候補から配置座標を決定し、物理構成および論理構成の組を具体構成として出力する(ステップS125)。
【0066】
(効果)
上記したように、本実施形態では、システムの要件を満足するアプリケーションやネットワークの論理的な構成に加え、サーバや無線端末といった物理的な配置を要する装置の物理的な配置構成についても自動で生成することが可能となる。さらに、特許文献1および非特許文献1に示す設計技術では論理構成の評価値のみを考慮して探索木の探索を行っている点に対し、本実施形態では、論理構成および物理構成の両面を考慮した評価値を探索過程における構成案の選択基準に用いるため、論理的な構成正しいものの、構成要素の空間的配置が不可能となる具体構成を出力することによる手戻りの発生を抑制することができ、一般的な技術よりも更なる設計の高速化が可能となる。これにより、人手による調整を必要としていたシステムの設計に係る技術者の負担をさらに軽減可能となる。本実施形態は、ICTシステムや通信ネットワークの設計および構築などの用途に適用することができる。
【0067】
(最小構成)
図31は、実施形態に係るシステム設計装置の最小の構成例を示すブロック図である。
システム設計装置800は、システムの要件700を入力とし、システムの具体構成を出力するシステム設計装置であって、設計探索手段801と、構成評価手段802と、を備える。
設計探索手段801は、前記システムに含まれる抽象的な要素を具体的な構成に変換する具体化手段を前記要件に反復して適用することで、前記要件を根ノード、前記抽象的な要素を具体化した前記システムの構成案を葉ノードとする木構造を生成し、生成された前記木構造において、より評価値の高い前記構成案を選択することで探索を行い、すべての要素が具体化された前記構成案を具体構成900として出力する。
構成評価手段802は、前記木構造を構成する前記構成案に含まれる、前記システムの論理的な構成案の評価値と、前記構成案に含まれる物理的な配置を要する装置の物理的な構成案の評価値と、により、前記構成案の評価値を算出する。
【0068】
なお、上述した実施形態におけるシステム設計装置100、800の一部をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、システム設計装置100、800に内蔵されたコンピュータシステムであって、OS(Operating System)や周辺機器等のハードウェアを含むものとする。
【0069】
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
【0070】
また、上述した実施形態におけるシステム設計装置100、800の一部、または全部を、LSI(Large Scale Integration)等の集積回路として実現してもよい。システム設計装置100、800の各機能部は個別にプロセッサ化してもよいし、一部、または全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、または汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
【0071】
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。また、本発明の一態様は、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。また、上記各実施形態や変形例に記載された要素であり、同様の効果を奏する要素同士を置換した構成も含まれる。
【符号の説明】
【0072】
100・・・システム設計装置
110・・・設計探索部
120・・・物理構成抽出部
130・・・配置可能領域生成部
140・・・構成評価部
150・・・配置決定部
160・・・記憶部
200・・・要件
300・・・具体構成
700・・・要件
800・・・システム設計装置
801・・・設計探索手段
802・・・構成評価手段
900・・・具体構成