JPWO2015162889A1 - 設計支援装置、方法、およびプログラム - Google Patents

設計支援装置、方法、およびプログラム Download PDF

Info

Publication number
JPWO2015162889A1
JPWO2015162889A1 JP2016514708A JP2016514708A JPWO2015162889A1 JP WO2015162889 A1 JPWO2015162889 A1 JP WO2015162889A1 JP 2016514708 A JP2016514708 A JP 2016514708A JP 2016514708 A JP2016514708 A JP 2016514708A JP WO2015162889 A1 JPWO2015162889 A1 JP WO2015162889A1
Authority
JP
Japan
Prior art keywords
information
attribute
attribute value
design support
functional requirements
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2016514708A
Other languages
English (en)
Inventor
さやか 伊豆倉
さやか 伊豆倉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPWO2015162889A1 publication Critical patent/JPWO2015162889A1/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3323Design verification, e.g. functional simulation or model checking using formal methods, e.g. equivalence checking or property checking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/04Constraint-based CAD

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

非機能要件に影響する様々な要因を考慮しつつ、指定された非機能要件を満たすシステム構成の候補を自動的かつ効率的に導出できる設計支援装置が開示される。係る設計支援装置は、非機能要件を受け付ける受付手段と、2種類以上のコンポーネントを組み合わせて設計されるシステムの前記コンポーネントの属性値について、非機能要件を満たすために必要な条件を定義した属性値条件情報に基づいて、前記受付手段において受け付けられた前記非機能要件を満たすための前記属性値の制約条件を生成する制約条件生成手段を備える。

Description

本発明は、コンピュータシステムの設計を支援する設計支援装置、方法、およびプログラム記録媒体に関する。
コンピュータシステム(以下、システムと呼ぶ)の開発においては、顧客から指定される各種要件を満たすようにシステムの設計(アーキテクチャ)を決める必要がある。
顧客から指定される要件には、システムの品質(QoS:Quality of Service)がある。システムの品質を表す指標として、性能や可用性などの非機能に関する要件(非機能要件)がある。
非機能要件は、システムの規模や社会的な影響度ごとに、開発対象のシステムが満たすべきサービスレベルの評価項目と水準を数段階のレベルで定義した、「非機能要求グレード表」や、ITIL(Information Technology Infrastructure Library)の内容に基づいて決定されることが多い。
しかしながら、システムの品質は、HW(Hardware)の構成やMW(Middleware)の設定項目等に関する様々な設計パラメータの影響を受けると共に、非機能要件を満たす設計パラメータの組み合わせも多数存在するので、適切に設計するには高度な知識が必要となる。
そこで、非機能要件を満たす設計パラメータの組み合わせを、自動的かつ効率的に導出できる設計支援装置が求められている。
関連技術として、特許文献1は、Webサービスを連携させて作るSOA(Service Oriented Architecture)のシステムの設計に関する技術を開示する。特許文献1に記載の技術では、個々のWebサービスに対して、指定された非機能要件を実現できる処理を、使用するソフトウェア(ミドルウェア)製品への実装可能性と非機能要件の優先度を考慮しながら付与する。これにより、適切なWebサービスの組み合わせが決定できる。
特許文献2は、Webサービスに対して、システム全体の非機能要件に影響する平均処理時間などの値(性能値)を予め登録し、指定した要件に合う、または近いサービスを抽出しながら設計を行う技術を開示する。
特許文献3は、重要度の高い要件から順に、満たすべき設定値を利用者から受け付け、好適なシステムコンポーネント(製品)の組み合わせを決定する技術を開示する。特許文献3に記載の技術は、利用者から受け付けた設定値に対応するシステムコンポーネントを順次抽出し、上位要件の設定値に対して抽出された構成と矛盾が生じない組み合わせの候補を求め、利用者に提示する。
特許文献4は、SLO(Service Level Objective)を満たすために見直さなければならない設定項目を容易に特定できる装置を開示する。この装置は、業務システムの設定項目とSLOの対応関係をもとに、ある設定項目の値を変更した場合に影響を受ける(要件を満たせなくなる)可能性があるSLOを特定し、SLOを満たすために設定値を見直すべき設定項目を特定する。
特許文献5は、最適なシステム構成を決定する対話型の設計支援装置を開示する。この設計支援装置は、システム構成を体系化したモデルや、各モデルで利用可能なネットワーク構成、サーバの処理能力などのシステム構築に必要な情報をノウハウとして蓄積する。そして、この設計支援装置は、プルダウンメニューを介してユーザからそれらの条件の選択を受け付けることで、最適なシステムを決定する。
特許第5049911号公報 特許第4906424号公報 特許第4937159号公報 特許第4880376号公報 特開2002−222227号公報
非機能要件は、一般に、システムの社会的影響度などに基づいて、複数の候補の中から満たすべき値や状態が指定されている。しかしながら、特許文献1では、非機能要件の対応情報として、非機能要件を実現できる処理によってその非機能要件が相対的に向上するか否かが定義されており、その非機能要件が具体的にどのような状態になるかは考慮されていない。よって、上記のような、社会的影響度などに基づく満たすべき値や状態を指定することはできない。
特許文献2は、登録されたWebサービスの中から付与された性能値に基づいて、非機能要件として指定された値を検索キーとして、条件に合うサービスを抽出している。これは、キーワードマッチに近い検索であり、個々のWebサービスの単純な結合によって、一つのWebサービスを構成することが前提となっている。そのため、様々な種類のコンポーネントを複雑に組み合わせて、要件を満たすようにシステムを構築するような場合には適用できない。
特許文献3では、使用可能な製品ごとに、要件の設定値に対応する組み合わせの候補を用意する必要がある。しかしながら、多数の製品について組み合わせの候補を全て列挙することは困難である。また、非機能要件には、製品の組み合わせだけでなく、待機系のスタンバイ構成やデータのバックアップ方法等の、様々な要因が影響するが、特許文献3では考慮されていない。
特許文献4、および5は、設計を変更した場合に影響のあるSLOを提示したり、設計の一部分を決定した場合に他の部分が取りうる構成の候補を絞り込んで選択肢を提示したりする等、ユーザによる設計操作を補助する技術である。したがって、ユーザが指定したSLOを満たすシステム構成を自動的に導出できない。
本発明は、上記の事情を鑑みてなされたものであり、非機能要件に影響する様々な要因を考慮しつつ、指定された非機能要件を満たすシステム構成の候補を自動的かつ効率的に導出できる設計支援装置、方法、およびプログラムを提供することを主な目的とする。
本発明の第1の設計支援装置は、非機能要件を受け付ける受付手段と、2種類以上のコンポーネントを組み合わせて設計されるシステムの前記コンポーネントの属性値について、非機能要件を満たすために必要な条件を定義した属性値条件情報に基づいて、前記受付手段において受け付けられた前記非機能要件を満たすための前記属性値の制約条件を生成する制約条件生成手段を備える。
本発明の第1の設計支援方法は、非機能要件を受け付け、2種類以上のコンポーネントを組み合わせて設計されるシステムの前記コンポーネントの属性値について、非機能要件を満たすために必要な条件を定義した属性値条件情報に基づいて、前記受け付けられた前記非機能要件を満たすための前記属性値の制約条件を生成する。
なお同目的は、上記の各構成を有する設計支援方法を、コンピュータによって実現するコンピュータ・プログラム、およびそのコンピュータ・プログラムが格納されている、コンピュータ読み取り可能な記憶媒体によっても達成される。
本発明は、非機能要件に影響する様々な要因を考慮しつつ、指定された非機能要件を満たすシステム構成の候補を自動的かつ効率的に導出できるという効果が得られる。
本発明の第1実施形態に係る設計支援装置を示すブロック図である。 システムモデルを示す概念図である。 図2Aに示すシステムモデルのアーキテクチャの一例を示す概念図である。 図2Aに示すシステムモデルのアーキテクチャの一例を示す図である。 図2Aに示すシステムモデルのアーキテクチャの一例を示す図である。 システムモデルの他の例を示す図である。 非機能要件の一例を示す表である。 非機能要件の一例を示す表である。 非機能要件‐属性値対応情報の一例を示す表である。 システムモデルの一例を示す図である。 第1実施形態に係る設計支援装置の処理の流れを示すフローチャートである。 本発明の第2実施形態に係る設計支援装置を示すブロック図である。 システムモデルテンプレートの概念図である。 システムモデルテンプレートに定義される属性情報の一例を示す表である。 システムモデルテンプレートに定義される属性情報の一例を示す表である。 モデル検索部の処理の流れを示すフローチャートである。 本発明の第3実施形態に係る設計支援装置を示すブロック図である。 本発明の各実施形態に係る設計支援装置を実現するハードウエア構成を例示する図である。
第1実施形態
図1は、本発明の第1実施形態に係る設計支援装置10の構成を表すブロック図である。以下、本発明に係る設計支援装置10について説明する。
設計支援装置10は、受付部101と、NFR(Non−Functional Requirements)−属性値対応情報格納部102と、制約条件生成部104と、制約ソルバー106と、を備える。設計支援装置10は、システムモデル200と、非機能要件(NFR)300とを受付部101において受け付ける。
システムモデル200は、設計対象のシステムを模式化したモデルであり、2種類以上のコンポーネントを組み合わせて設計されるシステムに関する各種設計情報を含んでいる。具体的に説明すると、システムモデル200は、設計情報として、システムを構成する要素、例えばハードウェア、ミドルウェアなどの接続状態と、システムの品質に影響する設計パラメータに関する情報等を含んでいる。また、システムモデル200は、設計情報として、設計パラメータが取りうる値に関する情報を含んでもよい。設計パラメータに関する情報および設計パラメータが取りうる値に関する情報とは、システムを構成する要素を表すシステムコンポーネント(以降、「コンポーネント」とも称する)の属性値として定義されてもよい。
設計支援装置10は、例えば、システムモデル200のコンポーネントの属性値について、非機能要件300を満たす組み合わせを出力する機能を有していてもよい。なお、本実施形態において属性値とは、非機能要件を満たすために必要な設計情報を意味する。
図2Aは、本発明に係るシステムモデル200の一例を示す概念図である。図2Aに示すシステムモデル200は、Web/AP(Application)サーバ201と、DB(Database)サーバ203とを組み合わせた接続状態を有する。「Web/APサーバ201」は、WebサーバおよびAPサーバのいずれでもよいことを示す。Web/APサーバ201は、「冗長性」、「スタンバイ構成」という属性を有する。「冗長性」は、属性値として、「非冗長」または「並列冗長」をとる。「スタンバイ構成」は、属性値として、「コールド」、「ウォーム」または「ホット」をとる。システムモデル200のコンポーネントの属性値を変更することによって、冗長構成の異なる複数のアーキテクチャを表現できる。図2Bは、Web/APサーバ201が「冗長性」の属性値として、「非冗長」をとる場合のシステムモデル200のアーキテクチャを示す。
図3Aおよび図3Bは、図2Bに示すシステムモデル200から、Web/APサーバ201の冗長性と、スタンバイ構成の属性値を変更したシステムモデル200のアーキテクチャの一例を示す図である。図3Aは、冗長性を「並列冗長」、スタンバイ構成を「コールド」に設定した構成を示している。一方、図3Bは、冗長性を「並列冗長」、スタンバイ構成を「ホット」に設定した構成を示している。本実施形態では、非機能要件を満たすアーキテクチャを、後述する制約充足問題を解くことによって求めることについて説明する。
以下、図4を参照して、本実施形態に係るシステムモデル200、および属性値について説明する。図4に示すように、システムモデル200は、Webサーバ202と、APサーバ204と、DBサーバ206とが直列に接続された構成を示す。
また、システムモデル200には、冗長性、スタンバイ構成、RAID(Redundant Arrays of Inexpensive Disks)構成、データのバックアップ、および保持データの種類が、属性として定義されている。なお、これらの属性は一例であり、本実施形態を限定するものではない。
Webサーバ202、APサーバ204、DBサーバ206は、それぞれ、図4に示す属性に関連付けられた、括弧内に記述された値を属性値としてとりうる。すなわち、各サーバは、冗長性の属性値として、「非冗長」、「並列冗長」をとりうる。各サーバは、スタンバイ構成の属性値として、「コールド」、「ウォーム」、「ホット」をとりうる。各サーバは、RAID構成の属性値として、「RAID0」、「RAID5」、「RAID1」をとりうる。各サーバは、データのバックアップの属性値として、「なし」、「週次」、「日次」、「オンライン」をとりうる。また、Webサーバ202、APサーバ204は、保持データの種類の属性値として、「システムデータ」をとりうる。DBサーバ206は、保持データの種類の属性値として、「ユーザデータ」をとりうる。システムモデル200は、上記の属性値を組み合わせることによって、様々なアーキテクチャを構築できる。
次に、非機能要件について説明する。
非機能要件は、設計対象のシステムの品質に関して、顧客から指定される要件に関する情報を含む。具体的に説明すると、非機能要件は、例えば、顧客から指定される、設計対象のシステムの性能や可用性に関する情報を含んでもよい。また非機能要件は、顧客から指定される要件として、複数の候補の中から、満たすべき値や状態等が選択された情報を含んでもよい。以下、非機能要件の具体例について説明する。
図5Aおよび図5Bは、非機能要件の具体例(非機能要件300、310)を示す表である。図5Aおよび図5Bを参照すると、システムの可用性に関する非機能要件として、障害発生時の業務継続性、耐障害性(論理)(復旧すべきデータの範囲)、および復旧時点が指定されている。なお、これらの非機能要件は一例であり、本実施形態を限定するものではない。
図5Aに示す非機能要件300は、業務継続性として「単一障害時は処理を継続」すること、耐障害性(論理)として「重要データのみ復旧」すること、復旧時点として「1営業日前まで」復旧することを指定している。また、図5Bに示す非機能要件310は、業務継続性として「障害時の業務停止を許容」すること、耐障害性(論理)として「全データを復旧」すること、復旧時点として「1営業日前まで」に復旧することを指定している。非機能要件300と、非機能要件310とで、満たすべき状態として異なる状態が指定されている。すなわち、非機能要件および満たすべき状態は、顧客が指定する要件に応じて指定できる。満たすべき状態として、非機能要件の各項目が取りうる複数の状態の中から、最も満たすべき状態が選択されて指定されてもよい。
図1に示したNFR−属性値対応情報格納部102は、非機能要件を満たすために必要な、システムモデルのコンポーネントの属性値の条件を定義した情報、すなわち非機能要件−属性値対応情報(以下、NFR‐属性値対応情報)を保持する。以下、NFR−属性値対応情報について説明する。
図6は、NFR−属性値対応情報400の一例を示す表である。NFR−属性値対応情報400は、業務継続性と、サービス切替時間と、耐障害性(物理)と、耐障害性(論理)と、復旧時点との、5項目の非機能要件について属性値の条件を定義している。NFR−属性値対応情報400は、各非機能要件がとりうる複数の状態とそれぞれ対応付けて属性値の条件を定義してもよい。条件は、論理式の形式で記述されてもよい。
図1に示した制約条件生成部104は、例えば、外部から受付部101において受け付けた非機能要件と、NFR−属性値対応情報400とに基づいて、システムモデルの各コンポーネントの属性値に対する制約条件を生成する。さらに制約条件生成部104は、生成した制約条件を制約充足問題として定式化する。
制約条件生成部104は、例えば、図4に示すシステムモデル200に対して、図5Aに示した非機能要件300を受けた場合、図6に示すNFR−属性値対応情報400から、制約条件を抽出する。すなわち、制約条件生成部104は、業務継続性の状態が「単一障害時は処理を継続」を満たすために必要な、「冗長性 = (並列冗長 or k/n(k-out-of-n system)冗長) AND スタンバイ構成 = (ホット)」という条件を抽出する。抽出した条件は、各コンポーネント(Webサーバ202、APサーバ204、DBサーバ206)の属性値の制約条件として、各コンポーネントに付与される。
同様に、制約条件生成部104は、耐障害性(論理)の状態が「重要データのみ復旧」を満たすために必要な、「保持データの種類 = (システムデータ) OR データのバックアップ ≠ (なし)」という条件を抽出する。抽出した条件は、各コンポーネント(Webサーバ202、APサーバ204、DBサーバ206)の属性値の制約条件として、各コンポーネントに付与される。
ここで、図4に示したシステムモデル200において、Webサーバ202、APサーバ204が保持するデータの種類は「システムデータ」であり、DBサーバ206が保持するデータの種類は「ユーザデータ」という固定値である。したがって、Webサーバ202、APサーバ204については、「保持データの種類 = (システムデータ)」という条件を必ず満たすため、その他の制約条件については考慮する必要はない。
一方、DBサーバ206については、上記条件は満たされないので、「データのバックアップ ≠ (なし)」という条件が、属性値の制約条件としてDBサーバ206に付与される。これは、耐障害性(論理)の満たすべき状態として、ユーザデータという種類のデータについてのみ復旧する必要があるため、DBサーバのデータバックアップ属性に対してのみ、“バックアップ ≠ (なし)”という制約条件が付与されることを表している。
さらに、制約条件生成部104は、復旧対象のデータ(ユーザデータ)を持つDBサーバ206については、復旧時点の状態が「1営業日前まで」を満たすために必要な、「データのバックアップ = {日次 or オンライン}」という条件を抽出し、それを属性値の制約条件としてDBサーバ206に付与する。
そして制約条件生成部104は、各サーバに付与した制約条件を、制約充足問題として定式化する。
制約ソルバー106は、制約条件生成部104が生成したシステムモデルのコンポーネントの属性値に関する制約充足問題を、例えば、バックトラッキング等の既存の汎用的な手法によって解く機能を有している。なお、これは制約充足問題を解く手法を限定するものではなく、制約ソルバー106は他の手法を用いて制約充足問題を解く機能を有していてもよい。以下、システムモデルのコンポーネントの属性値に関する制約充足問題を解く流れについて説明する。
制約ソルバー106は、図4に示されるシステムモデル200のコンポーネントの属性、およびそれらの取りうる値(属性値)から、変数の集合と各変数の領域を定義する。説明を簡略化するため、各属性値の取りうる値を、以下のように、順に0以上の整数値に置き換えて定義する。
・{非冗長,並列冗長}={0,1}
・{コールド,ウォーム,ホット}={0,1,2}
・{RAID0,RAID5,RAID1}={0,1,2}
・{なし,週次,日次,オンライン}={0,1,2,3}
・{システムデータ}={0}、{ユーザデータ}={1}
なお、属性値の定義は上記に限定されるものではなく、上記定義とは異なる定義をしてもよい。
属性値を上記のように定義することによって、変数の集合と各変数の領域は、以下のように表すことができる。
・冗長性:x_web,x_ap,x_db = {0,1}
・スタンバイ構成:y_web,y_ap,y_db = {0,1,2}
・RAID構成:z_web,z_ap,z_db = {0,1,2}
・データのバックアップ:u_web,u_ap,u_db = {0,1,2,3}
・保持データの種類:w_web,w_ap = {0}、 w_db = {1}
ここで、xは冗長性、yはスタンバイ構成、zはRAID構成、uはデータのバックアップ、wは保持データの種類を表す変数を示す。また、添え字「web」はWebサーバ、「ap」はAPサーバ、「db」はDBサーバの、それぞれ属性に関する変数であることを示している。
図5Aに示す非機能要件300と、図6に示すNFR−属性値対応情報400とに基づいて、各変数間の制約の集合を、以下のように定義できる。ただし、冗長性がk/n冗長の状態を、x=2と置き換えている。
・((x_web = 1) ∨ (x_web = 2)) ∧ (y_web = 2)
・((x_ap = 1) ∨ (x_ap = 2)) ∧ (y_ap = 2)
・((x_db = 1) ∨ (x_db = 2)) ∧ (y_db = 2)
・(w_web = 0) ∨ (u_web ≠ 0)
・(w_ap = 0) ∨ (u_ap ≠ 0)
・(w_db = 0) ∨ (u_db ≠ 0)
・(w_db = 1) ∨ (w_db = 2)
ここで、「∨」はOR、「∧」はANDを意味する。
制約ソルバー106は、制約充足問題を解くことで変数の値を得ることができる。変数の値は、以下のように求められる。
<解1>
・x_web = x_ap = x_db = 1
・y_web = y_ap = y_db = 2
・u_db = 1
<解2>
・x_web = x_ap = x_db = 1
・y_web = y_ap = y_db = 2
・u_db = 2
上記以外の変数については、各領域内で任意の値を取ることが可能である。
したがって、図5Aに示す非機能要件300を満たす属性値の組み合わせとして、以下のような2通りの解が導出される。
<解1>
・Webサーバ:冗長性 = (並列冗長)、スタンバイ構成 = (ホット)
・APサーバ:冗長性 = (並列冗長)、スタンバイ構成 = (ホット)
・DBサーバ:冗長性 = (並列冗長)、スタンバイ構成 = (ホット)、データのバックアップ = (日次)
<解2>
・Webサーバ:冗長性 = (並列冗長)、スタンバイ構成 = (ホット)
・APサーバ:冗長性 = (並列冗長)、スタンバイ構成 = (ホット)
・DBサーバ:冗長性 = (並列冗長)、スタンバイ構成 = (ホット)、データのバックアップ = (オンライン)
ここで、システムモデルごとに、コンポーネントの属性の取りうる値は異なっていてもよい。例えば、図7に示すシステムモデル700について説明する。システムモデル700は、サーバの接続状態はシステムモデル200と同一であるが、サーバが取りうる属性値はシステムモデル200と異なっている。具体的に説明すると、システムモデル700では、DBサーバ706はスタンバイ構成としてコールドのみを、Webサーバ702はRAID構成としてRAID0、またはRAID5をとる。
制約条件生成部104は、システムモデル700に対して図5Aに示す非機能要件300が与えられた場合、図6に示すNFR−属性値対応情報400が定義する業務継続性の状態「単一障害時は処理を継続」を満たすための条件を抽出する。すなわち、制約条件生成部104は、「冗長性 = (並列冗長 or k/n冗長) AND スタンバイ構成 = (ホット)」という条件を抽出すると共に、抽出した条件を属性値の制約条件として、各コンポーネントに付与する。しかしながら、DBサーバ706は、スタンバイ構成として「コールド」のみをとるので、「スタンバイ構成 = (ホット)」という制約条件を満たす解は存在しない。したがって、システムモデル700では「単一障害時は処理を継続」を実現することができない。
図8は、本実施形態に係る設計支援装置10の動作の流れを示すフローチャートである。以下、設計支援装置10の動作の流れについて詳細に説明する。
まず、設計支援装置10は、図示しないユーザ、または外部装置等から、設計対象となるシステムに関するシステムモデル、および非機能要件の入力を受け付ける(ステップS101)。
次いで、制約条件生成部104は、NFR−属性値対応情報を参照し、非機能要件を満たすために必要なシステムモデルのコンポーネントの属性値に対する制約条件を抽出する(ステップS102)。
次いで、制約条件生成部104は、抽出した属性値に対する制約条件に基づいて、属性値に関する制約充足問題を構築(定式化)する(ステップS103)。
そして、制約ソルバー106は、例えば、バックトラッキング等の汎用的な手法を用いて制約充足問題を解くことにより、非機能要件を満たすシステムモデルのコンポーネントの属性値の組み合わせの候補を算出する(ステップS104)。
以上のように、本実施形態に係る設計支援装置10は、非機能要件に影響する様々な要因を考慮しつつ、指定された非機能要件を満たすシステム構成(システムアーキテクチャ)の候補を自動的かつ効率的に導出できるという効果が得られる。また、システム構成の候補を自動的かつ効率的に導出できるので、システム設計者の負担を軽減できるという効果が得られる。
また設計支援装置10は、非機能要件の複数の状態と、属性値の条件とを対応付けたNFR‐属性値対応情報を定義することによって、設計対象のシステムの社会的影響度などに基づいて複数の候補の中から満たすべき値や状態を非機能要件として指定できるという効果が得られる。
第2実施形態
図9は、本発明の第2実施形態に係る設計支援装置20の構成を示すブロック図である。以下、設計支援装置20について説明する。
図9を参照すると、設計支援装置20は、受付部101と、NFR−属性値対応情報格納部102と、制約条件生成部104と、制約ソルバー106と、モデル検索部108と、モデル格納部110と、を備える。設計支援装置20は、モデル検索部108と、モデル格納部110と、を備える点で、第1の実施形態における設計支援装置10と異なっている。また、設計支援装置20には、システムモデルは入力されずに、非機能要件のみが入力され、受付部101において受け取られる。設計支援装置20は、例えば、非機能要件を満たす属性値の組み合わせと一致する属性情報を持つシステムモデルテンプレート、および対応する属性情報を出力する機能を有している。
モデル格納部110は、システムモデルテンプレート120、およびシステムモデルテンプレート120に対応する属性情報130を保持する。モデル格納部110は、複数のシステムモデルテンプレート120と、それぞれのシステムモデルテンプレート120に対応する複数の属性情報130とを保持していてもよい。
モデル格納部110のシステムモデルテンプレート120は、システムの設計情報の雛形に相当する情報を含んでいる。具体的に説明すると、システムモデルテンプレート120は、システムを構成する要素(例えばハードウェアやミドルウェアなど)を機能単位で記述したコンポーネント、およびコンポーネントの接続状態に関する情報を含んでいる。またシステムモデルテンプレート120は、システムが提供するサービスの種類や機能などに応じた設計情報から共通部分を抽出した情報を含んでいてもよいし、コンポーネントに対して定義されうる属性の種類に関する情報を含んでいてもよい。
モデル格納部110の属性情報130は、システムモデルテンプレート120の各コンポーネントの属性値を表す情報を含んでいる。属性情報130は、システムモデルテンプレート120に対して複数定義されていてもよい。また属性情報130は、システムの設計情報からシステムモデルテンプレート120として抽出された共通部分以外の、システムごとに異なる部分を定義した情報を含んでいてもよい。
一般的なWeb3層システムを表すシステムモデルテンプレート120の例を、図10に示す。図10を参照すると、システムモデルテンプレート120は、Webサーバ122と、APサーバ124と、DBサーバ126と、を含んでいる。
また、システムモデルテンプレート120は、コンポーネントに対して定義される属性の種類を含む。定義される属性は、例えば、冗長性、スタンバイ構成、RAID構成、データのバックアップ、保持データの種類などである。なお、図10に示したシステムモデルテンプレート120は一例であり、本実施形態を限定するものではない。
図11Aおよび図11Bは、図10に示すシステムモデルテンプレート120に対して定義される属性情報130の一例を示す。図11Aと図11Bとでは、DBサーバの属性「データのバックアップ」の値が異なっている。すなわち、属性「データのバックアップ」に関して、図11Aに示す表では、Webサーバは「週次」、DBサーバは「日次」、APサーバは「週次」または「日次」を、属性情報としてとる。これに対して、図11Bに示す表では、Webサーバ、APサーバ、DBサーバのいずれも「週次」を、属性情報としてとる。このように、共通のシステムモデルテンプレートをベースとして異なる属性情報を表すことができる。
第2実施形態による制約条件生成部104は、外部から受付部101において受け取られた非機能要件300と、NFR−属性値対応情報400に基づいて、システムモデルテンプレート120のコンポーネントに対して定義されうる属性の値に対する制約条件を生成する。そして制約条件生成部104は、制約条件に基づいて制約充足問題を定式化する。
第1実施形態と同様に、制約ソルバー106は、制約条件生成部104が生成したシステムモデルテンプレートの属性値に関する制約充足問題を、例えば、バックトラッキング等の既存の汎用的な手法によって解く。これにより、非機能要件を満たす属性値の組み合わせ(解)が導出される。
モデル検索部108は、モデル格納部110が保持する各システムモデルテンプレート120に対応する属性情報130のうち、制約ソルバー106が導出した属性値の組み合わせ(解)に含まれる属性情報130を検索する。例えば、図5Aに示す非機能要件が与えられた場合、図11Aおよび図11Bに示すシステムモデルテンプレートおよび対応する属性情報について、図11Aは制約ソルバー106により導出される解に含まれるが、図11Bは含まれない。
またモデル検索部108は、属性情報を順位づけるための推薦度を算出し、推薦度に基づいて属性情報を並べ替える機能を有していてもよい。具体的に説明すると、モデル検索部108は、例えば、推薦度としてシステムの価格を算出する。この場合、モデル検索部108は、価格の安い順に属性情報を並び替えることができる。またモデル検索部108は、例えば、推薦度としてシステムの品質を示す評価値を算出する。この場合、モデル検索部108は、評価値の高い順に属性情報を並べ替えることができる。
図12は、モデル検索部108の動作の流れを示すフローチャートである。以下、図12を参照しながら、モデル検索部108の動作について説明する。
まず、モデル検索部108は、モデル格納部110から、システムモデルテンプレート120及び対応する属性情報130を抽出する(ステップS201)。
次に、外部から指定された非機能要件を満たす、制約ソルバー106により導出された複数の属性値の組み合わせ(解)の中に、ステップS201で抽出された属性情報と一致する解が含まれるか否かを検索する(ステップS202)。
モデル格納部110に含まれるシステムモデルテンプレート120、および対応する属性情報130について、ステップS201、およびステップS202の操作を繰り返す(ステップS203)。
また設計支援装置20は、解の候補と一致すると判定された属性情報130を、対応するシステムモデルテンプレート120と共に外部に出力する装置を更に備えていてもよい。
以上のように、本実施形態によれば、設計支援装置20は、システムの設計情報の雛形に相当する情報を含むシステムモデルテンプレートと、そのシステムモデルテンプレートの各コンポーネントの属性値を表す属性情報とを、対応付けてモデル格納部110に格納する。モデル検索部108は、制約ソルバー106により導出された複数の属性値の組み合わせ(解)の中に、モデル格納部110に格納される属性情報と一致する組み合わせが含まれるか否かを検索し、検索結果を出力する。この構成により、本実施形態によれば、指定された非機能要件を満たす、異なる複数の設計情報をユーザに提示することができるので、ユーザはそれらを比較しながら、システムを設計することが可能となる。
第3実施形態
図13は、第3実施形態の設計支援装置30を示すブロック図である。以下、図13を参照しながら、第3実施形態の設計支援装置30について説明する。
図13を参照すると、設計支援装置30は、受付部31と、制約条件生成部32とを備えている。受付部31は、非機能要件を受け付ける。制約条件生成部32は、2種類以上のコンポーネントを組み合わせて設計されるシステムの前記コンポーネントの属性値について、非機能要件を満たすために必要な条件を定義した属性値条件情報に基づいて、前記受付手段において受け付けられた非機能要件を満たすための前記属性値の制約条件を生成する。なお、属性値条件情報は、上記第1の実施形態における非機能要件−属性値対応情報に相当する。
上記構成を採用することにより、本第3の実施形態によれば、非機能要件に影響する様々な要因を考慮しつつ、指定された非機能要件を満たすシステム構成の候補を自動的かつ効率的に導出できるという効果が得られる。
なお、図1等に示した設計支援装置の各部は、図14に例示するハードウエア資源において実現される。すなわち、図14に示す構成は、プロセッサ40、RAM(Random Access Memory)41、ROM(Read Only Memory)42、I/O(Input/Output)デバイス43、ストレージ44および各構成要素を接続するバス45を備える。
上述した各実施形態では、図14に示すプロセッサ40が実行する一例として、以下の場合について説明した。すなわち、本実施形態は、設計支援装置に対して、上述した機能を実現可能なコンピュータ・プログラムを供給した後、そのコンピュータ・プログラムを、プロセッサ40がRAM41に読み出して実行することによって実現される。しかしながら、図1等に示した各ブロックに示す機能は、一部または全部を、ハードウエアとして実現してもよい。
係る供給されたコンピュータ・プログラムは、読み書き可能なメモリ(一時記憶媒体)またはハードディスク装置等のコンピュータ読み取り可能な記憶デバイスに格納すればよい。そして、このような場合において、本発明は、係るコンピュータ・プログラムを表すコード或いは係るコンピュータ・プログラムを格納した記憶媒体によって構成されると捉えることができる。
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
また上記の実施形態の一部、または全部は、以下のようにも記載されうる。なお、以下の付記は本発明を何等限定するものではない。
[付記1]
非機能要件を受けると共に、前記非機能要件とシステムの設計情報の要素である属性値とを対応付けた非機能要件‐属性値対応情報に基づいて、前記非機能要件を実現するための前記属性値の制約条件を生成する制約条件生成部を備える、
ことを特徴とする設計支援装置。
[付記2]
前記制約条件生成部は、
前記制約条件に基づいて制約充足問題を定式化する、
ことを特徴とする上記付記1に記載の設計支援装置。
[付記3]
前記制約充足問題を解くことによって、前記非機能要件を満たす前記属性値を算出する制約ソルバーを更に備える、
ことを特徴とする上記付記2に記載の設計支援装置。
[付記4]
前記設計情報と前記設計情報に対応する属性情報を保持するモデル格納部と、
前記制約ソルバーが導出した前記属性値と、前記モデル格納部が保持する前記属性情報とを比較するモデル検索部と、
を更に備える、
ことを特徴とする上記付記3に記載の設計支援装置。
[付記5]
前記モデル検索部は、
前記属性情報を順位付けるための推薦度を算出し、該推薦度に基づいて前記属性情報を並び替える、
ことを特徴とする上記付記4に記載の設計支援装置。
[付記6]
前記モデル格納部は、
前記属性情報が複数対応付けられた前記設計情報を保持する、
ことを特徴とする上記付記4または5に記載の設計支援装置。
[付記7]
前記非機能要件‐属性値対応情報は、
複数の異なる状態の前記非機能要件に前記制約条件を対応付けた情報を含む、
ことを特徴とする上記付記1乃至6のいずれか1項に記載の設計支援装置。
[付記8]
非機能要件を受けると共に、前記非機能要件とシステムの設計情報の要素である属性値とを対応付けた非機能要件‐属性値対応情報に基づいて、前記非機能要件を実現するための前記属性値の制約条件を生成する、
ことを特徴とする設計支援方法。
[付記9]
コンピュータを、
非機能要件を受けると共に、前記非機能要件とシステムの設計情報の要素である属性値とを対応付けた非機能要件‐属性値対応情報に基づいて、前記非機能要件を実現するための前記属性値の制約条件を生成する制約条件生成手段として動作させる、
ことを特徴とする設計支援プログラム。
この出願は、2014年4月23日に出願された日本出願特願2014−089098を基礎とする優先権を主張し、その開示の全てをここに取り込む。
本発明は、例えば、システムアーキテクチャの設計支援装置に適用できる。
10、20、30 設計支援装置
102 NFR−属性値対応情報格納部
104 制約条件生成部
106 制約ソルバー
108 モデル検索部
110 モデル格納部
120 システムモデルテンプレート
122 Webサーバ
124 APサーバ
126 DBサーバ
130 属性情報
200 システムモデル
202 Webサーバ
204 APサーバ
206 DBサーバ
300 非機能要件
310 非機能要件
400 NFR‐属性値対応情報
700 システムモデル
702 Webサーバ
704 APサーバ
706 DBサーバ
本発明は、コンピュータシステムの設計を支援する設計支援装置、方法、およびプログラムに関する。

Claims (9)

  1. 非機能要件を受け付ける受付手段と、
    2種類以上のコンポーネントを組み合わせて設計されるシステムの前記コンポーネントの属性値について、非機能要件を満たすために必要な条件を定義した属性値条件情報に基づいて、前記受付手段において受け付けられた前記非機能要件を満たすための前記属性値の制約条件を生成する制約条件生成手段
    を備えた設計支援装置。
  2. 前記制約条件生成手段は、前記制約条件に基づいて制約充足問題を定式化する
    請求項1に記載の設計支援装置。
  3. 前記制約充足問題を解くことによって、前記非機能要件を満たす前記属性値を導出する制約ソルバーを
    更に備えた請求項2に記載の設計支援装置。
  4. 前記システムの設計情報と、当該設計情報に対応する属性情報を保持するモデル格納手段と、
    前記制約ソルバーが導出した前記属性値と、前記モデル格納手段が保持する前記属性情報との比較の結果に基づいて、前記受付手段において受け付けられた前記非機能要件を満たす前記属性情報を検索するモデル検索手段と、を更に備えた請求項3に記載の設計支援装置。
  5. 前記モデル検索手段は、
    前記属性情報を順位付ける推薦度を算出し、該推薦度に基づいて前記属性情報を提示する
    請求項4に記載の設計支援装置。
  6. 前記モデル格納手段は、
    前記属性情報が複数対応付けられた前記設計情報を保持する
    請求項4または5に記載の設計支援装置。
  7. 前記属性値条件情報は、
    前記非機能要件の複数の状態と、当該各非機能要件の状態を満たすために必要な前記属性値の条件とを対応付けた情報を含む、
    ことを特徴とする請求項1〜6のいずれか1項に記載の設計支援装置。
  8. 非機能要件を受け付け、
    2種類以上のコンポーネントを組み合わせて設計されるシステムの前記コンポーネントの属性値について、非機能要件を満たすために必要な条件を定義した属性値条件情報に基づいて、前記受け付けられた前記非機能要件を満たすための前記属性値の制約条件を生成する
    設計支援方法。
  9. コンピュータに、
    非機能要件を受け付ける処理と、
    2種類以上のコンポーネントを組み合わせて設計されるシステムの前記コンポーネントの属性値について、非機能要件を満たすために必要な条件を定義した属性値条件情報に基づいて、前記受け付けられた前記非機能要件を満たすための前記属性値の制約条件を生成する処理と
    を、実行させる設計支援プログラムを記録するプログラム記録媒体。
JP2016514708A 2014-04-23 2015-04-17 設計支援装置、方法、およびプログラム Pending JPWO2015162889A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2014089098 2014-04-23
JP2014089098 2014-04-23
PCT/JP2015/002120 WO2015162889A1 (ja) 2014-04-23 2015-04-17 設計支援装置、方法、およびプログラム記録媒体

Publications (1)

Publication Number Publication Date
JPWO2015162889A1 true JPWO2015162889A1 (ja) 2017-04-13

Family

ID=54332068

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016514708A Pending JPWO2015162889A1 (ja) 2014-04-23 2015-04-17 設計支援装置、方法、およびプログラム

Country Status (3)

Country Link
US (1) US20170147715A1 (ja)
JP (1) JPWO2015162889A1 (ja)
WO (1) WO2015162889A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11568662B2 (en) 2020-03-17 2023-01-31 Kabushiki Kaisha Toshiba Information processing apparatus for detecting a common attribute indicated in different tables and generating information about the common attribute, and information processing method, and non-transitory computer readable medium

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7428006B2 (ja) 2020-02-26 2024-02-06 日本電気株式会社 システム構成導出装置、方法およびプログラム
JP7331877B2 (ja) * 2021-03-17 2023-08-23 株式会社豊田中央研究所 システム計算装置、及びシステム計算プログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4384797B2 (ja) * 2000-10-04 2009-12-16 日本精工株式会社 機械要素性能指標情報提供方法及びシステム並びに機械要素選択支援方法及びシステム
JP3887571B2 (ja) * 2002-03-06 2007-02-28 株式会社東芝 ソフトウェア設計要件抽出支援方法、ソフトウェア設計要件決定支援方法、ソフトウェア設計支援方法、およびプログラム
JP4100630B2 (ja) * 2004-05-14 2008-06-11 インターナショナル・ビジネス・マシーンズ・コーポレーション Uml設計方法
US9886715B2 (en) * 2014-01-14 2018-02-06 Red Hat, Inc. Associating interdependent subscriptions

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11568662B2 (en) 2020-03-17 2023-01-31 Kabushiki Kaisha Toshiba Information processing apparatus for detecting a common attribute indicated in different tables and generating information about the common attribute, and information processing method, and non-transitory computer readable medium

Also Published As

Publication number Publication date
WO2015162889A1 (ja) 2015-10-29
US20170147715A1 (en) 2017-05-25

Similar Documents

Publication Publication Date Title
Zheng et al. Component ranking for fault-tolerant cloud applications
US8412718B1 (en) System and method for determining originality of data content
CN108287886B (zh) 同步数据变更信息的方法及装置
Kupisz et al. Collaborative filtering recommendation algorithm based on Hadoop and Spark
CN107464151B (zh) 高并发业务的订单数据处理方法及装置
US20100325125A1 (en) Media recommendations
EP2530610A1 (en) Apparatus and method of searching and visualizing instance path
JP2017041171A (ja) テストシナリオ生成支援装置およびテストシナリオ生成支援方法
Ali et al. Complex scientific applications made fault-tolerant with the sparse grid combination technique
WO2015162889A1 (ja) 設計支援装置、方法、およびプログラム記録媒体
Tian et al. Bounds of relative regret limit in p‐robust supply chain network design
WO2016063502A1 (ja) 知識管理装置、知識管理方法、及び、プログラムの記録媒体
JP6692281B2 (ja) テストケース生成装置、及びテストケース生成方法
Amreen et al. A methodology for measuring floss ecosystems
US20170337486A1 (en) Feature-set augmentation using knowledge engine
Ravi Kumar et al. Efficient distributed matrix factorization alternating least squares (EDMFALS) for recommendation systems using spark
US8510693B2 (en) Changing abstraction level of portion of circuit design during verification
Li et al. Small sample-oriented case-based kernel predictive modeling and its economic forecasting applications under n-splits-k-times hold-out assessment
Adedugbe et al. A cloud-driven framework for a holistic approach to semantic annotation
JP2018502354A (ja) ネットワークリソースの生成
JP5928446B2 (ja) 情報検索システム、情報検索方法および情報検索プログラム
KR102360061B1 (ko) 데이터베이스 쿼리 효율 향상을 위한 시스템 및 방법.
Hao et al. A Probability‐Based Hybrid User Model for Recommendation System
JP5393816B2 (ja) 情報検索装置および情報検索方法
JP5589009B2 (ja) 推薦クエリ抽出装置及び方法及びプログラム